2014-11-09 1 views
1

URL 재 작성 규칙에 문제가 있습니다.

SetEnv PHP_VER 5 
RewriteEngine on 

RewriteRule ^bands.html$ /groupes.php [L,NC] 
RewriteRule ^bands/([0-9a-zA-Z,-]+).html$ /groupes.php?groupe_nom_rewrite=$1 [QSA,L,NC] 
RewriteRule ^bands/([0-9a-zA-Z,-]+)/([0-9a-zA-Z,-]+).html$ /albums.php?groupe_nom_rewrite=$1&album_nom_rewrite=$2 [QSA,L,NC] 
RewriteRule ^labels.html$ /labels.php [L,NC] 
RewriteRule ^labels/([0-9a-zA-Z,-]+).html$ /labels.php?label_nom_rewrite=$1 [QSA,L,NC] 

처음 네 개의 규칙이 제대로 작동하지만, 마지막 하나는하지 않습니다 : 내 htaccess로에서 다음과 같은 규칙을 가지고있는 매개 변수 label_nom_rewrite가 리디렉션시 손실됩니다. 나는 제대로 작동하기 전에 QSA 플래그와 유사한 규칙을 가지고 있습니다 (예 : 두 번째 예로, 예상대로 groupe_nom_rewrite$_GET 변수로 사용하고 있습니다).

왜 그럴까요? 어떻게 해결할 수 있습니까?

미리 감사드립니다. MultiViews를 끄기

답변

0

시도 :

Options -Multiviews 

mod_negotiation 모듈이있는 설정 할 수는 /labels/로 시작하는 요청을 볼 때, 자동으로 /labels.php 및 바이 패스의 mod_rewrite에 요청을 보낼 것을 의미합니다.

+0

고맙습니다. 그런데 왜 내가이 행동을 이전 규칙이 아닌이 규칙에 적용 했습니까? – OuberThat

+0

@OuberThat은'bands.php' 파일이 없기 때문에. 그리고 labels.html이 mod_negotiation에 의해 처리되는 것은 그것을 다루는 mod_rewrite와 다를 바가 없습니다. –

관련 문제