2010-12-07 1 views
0

안녕하세요, 오랜 시간 청취자, 처음으로 발신자를 여기에!
훌륭한 조언을 보내 주셔서 감사합니다. - services.php을
mod_rewrite : 'availability'에 따라 디렉토리 또는 루트에서 파일을 일치시키는 방법은 무엇입니까?

RewriteRule ^([^/.]+)/([^/.]+)/?$ $1--$2.php?%{QUERY_STRING} [L] 
RewriteRule ^([^/.]+)/?$ $1.php?%{QUERY_STRING} [L] 

그들은 /회사/서비스/이 회사에 리디렉션합니다

나는 설정이 mod_rewrite는 규칙을 가지고있다. 또는/company /에 company.php. 완벽하게 작동합니다.

하지만 이제는 실제 디렉토리/company/내에 services.php를 넣으면이를 일치시키고 리디렉션한다는 규칙이 있습니다. 그리고 실패한다면, 나의 초기 규칙을 찾으십시오. 나는 그것이 포함 것처럼 간단 할 것이라고 생각

(그리고 그 실패, 404을 반환) :

RewriteRule ^([^/.]+)/([^/.]+)/?$ $1/$2.php?%{QUERY_STRING} [L] 

하지만 정도. 대신 404를 반환합니다. mod_rewrite가 작동하는 것을 어떻게 믿는가에 대해 약간의 난처함이 있습니다 (규칙이 일치하지 않으면 다음 규칙으로 이동하십시오).
어떤 조언을 해주셔서 감사합니다!

답변

0

발견. 참고로, 다음은 완전한 규칙 집합입니다.

RewriteCond %{DOCUMENT_ROOT}/$1/$2.php -f 
RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php?%{QUERY_STRING} [L] 
RewriteRule ^([^/.]+)/([^/.]+)/?$ $1--$2.php?%{QUERY_STRING} [L] 
RewriteRule ^([^/.]+)/?$ $1.php?%{QUERY_STRING} [L] 
+0

쿼리 문자열을 추가 할 필요가 없습니다. – Gumbo

관련 문제