그래서, 내가 설정이 젠드 스타일을 FrontController있어. 기본적으로 모든 URL을 다시 색인으로 리디렉션합니다.mod_rewrite를 noobie 질문
URL은 나는 다음과 같은 형태로 일부 바로 가기를 만들 싶습니다/controller/view/ + [additional parameters]
의 형태에 있습니다
RewriteRule ^home /home/index
RewriteRule ^products /products/view
RewriteRule .* index.php
그러나, mod_rewrite를 내 재 작성 규칙을 무시하는 것 같다. 비록 내가 그 비트를 잡을 수 있어야한다는 것이 확실하다 할지라도, 집/인덱스로 집을 변경하지는 않습니다. 그래서, 요청 uri의 이름을 바꾸는 것과 관련이 있다고 생각합니까?
는 여기에 htaccess로 파일입니다 :
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^admin/ - [L]
RewriteRule ^media/ - [L]
RewriteRule ^home home/index
RewriteRule ^products products/view
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
규칙은 전혀 작동하지 않거나 (* index.php에 *를 처리 할 수 없습니다) 잘못된 단지 예상 결과 않습니까? 후자의 경우,'$ _SERVER [ 'REQUEST_URI']'에는 어떤 값이 들어 있습니까? – Gumbo
$ _SERVER [ 'REQUEST_URI']는 원래의 uri (home 또는 products)를 포함합니다. 마치 그것을 잡을 수 있다고 확신하더라도 REQUEST_URI를 변경할 수없는 것 같습니다. 따라서 모든 것을 index.php로 되돌려 줄 마지막 줄에 도달 할 때까지는 변경되지 않은 그대로 취급합니다. – JHollanti
흠, REQUEST_URI는 재 작성 중이며 리디렉션하지 않기 때문에 동일하게 유지되어야합니다. REQUEST_URI를 원하면 별도의 줄을 쓸 수 있습니다. 당신은 당신의 집과 제품 라인에서 마지막 규칙을 나타내는 [L]을 사용하지 마십시오. 즉, 다른 경기를 계속 찾습니다. 내 대답을 조정했습니다. – Fabian