2014-02-14 4 views
1

잘못된 매개 변수가 연결된 리디렉션에 문제가 있습니다.RewriteRule이 특정 URL에 적용되는 것을 방지합니다.

나는 페이지가 제대로로드됩니다 http://www.example.co.uk/resources.html?dir=resources

이 선 재 작성 규칙 결과 후

Redirect 301 /resources/ http://www.example.co.uk/resources.html 

를 사용

RewriteRule ^([^/\.]+)/$ index.php?dir=$1 [QSA,L] 

같은 문제가 다시 쓰기 라인을 확인했습니다.

이 URL과 다른 특정 URL이 맹 글링되지 않도록 제외하려면 어떻게 변경해야합니까?

답변

1

먼저 mod_aliasmod_rewrite 규칙을 혼합하지 마십시오. 이 mod_rewrite 규칙을 대신 사용해보십시오.

RewriteEngine On 

RewriteRule ^(resources)/?$ /$1.html [L,R=301] 

RewriteRule ^([^/.]+)/?$ /index.php?dir=$1 [QSA,L] 
+0

감사합니다. 리디렉션이 mod_alias 명령이라는 것을 깨닫지 못했습니다! –

+0

네, 그다지 유용하지 않습니다. 'RedirectMatch'가 더 좋지만'mod_rewrite' 규칙이 가장 좋습니다. – anubhava

관련 문제