2013-01-03 1 views
0

나는 기본 htaccess로 파일을 가지고 (-f!) :아파치의 재 작성 조건은 제출하지 행동

대부분의 예상대로 작동
Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ rewrite.php?data=$1 [L,QSA] 

. 나는 그것이 이것이다 싶은대로 무엇을 작동하지 않습니다

나는 규칙에 따라 재 작성하지 않는 링크가 있습니다

http://domain.com/movies.php

뿐만 아니라의 중 하나를 다시 작성하지 않는 이러한 URL : 이 정상적인 동작은

http://domain.com/movies http://domain.com/movies/ http://domain.com/movies/fdgdgdgdg

인가? 어떻게 작동하는 유일한 URL이 movies.php로 끝날 수 있도록이 문제를 해결할 수 있습니까?

+0

으로 멀티 뷰를 사용 중지합니다. 재 작성 _does_가 작동하는 URL의 예를 들려 줄 수 있습니까? 또한 작동하지 않는 URL에 대해 무엇을 얻으십니까? 404 오류? –

+0

귀하의 룰셋에 따르면, 다음과 같이 : http : // domain.com/movies/fdgdgdgdg는 다음과 같이 자동으로 매핑됩니다. http : //domain.com/rewrite.php? data =/movies/fdgdgdgdg . ¿ 그게 네가 원하는거야? 그렇지 않다면 http : // domain.com/movies.php에 대한 매핑 된 URL의 예부터 시작하여 들어오는 URL과 매핑 된 URL의 예를 들어주세요. –

+0

아래의 답변은 도움을 주셔서 감사합니다. – DominicM

답변

2

저는 이것이 다중보기 문제라고 생각합니다.

Options -MultiViews 
+0

그게 다야! 이 옵션에 대해 좀 더 자세히 설명해 주시겠습니까? 그리고이 옵션은 리눅스 공유 호스팅에서는 기본적으로 활성화되지만 synology nas에서는 활성화되지 않는 이유는 무엇입니까? 그것은 어디서나 기본적으로 활성화 될 것입니다 이상한 것 같습니다 ... – DominicM

+1

(호스트 아니라) 아파치에 의해 기본적으로 활성화되어 있는지 모르겠어요. 그것은 mod_rewrite로 작업 할 때 제가 사용하지 않는 첫번째 것입니다. MultiViews의 기능은 파일을 찾을 수 없으면 "가까이에"있는 파일이 있는지 확인하는 것입니다. 따라서'/ movies'에 대한 요청이있는 경우, MultiViews는 요청과 동일한 기본 이름을 가진 파일이 있음을 확인하므로'/ movies.php '를 제공합니다. 이것은 Content Negotiation이 작동하는 방식의 짧은 버전입니다. http://httpd.apache.org/docs/2.2/content-negotiation.html에서 자세한 정보 – Gerben