2010-11-28 7 views
0

내가 제대로 작동하려면 내 재 작성 규칙을 점점 문제를 데 .. domain.com/123 domain.com/abc 에 대한htaccess로 재 작성 규칙 문제

ErrorDocument 404 /404.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^companies/ 
RewriteRule ^companies\/\?(.*)([A-Za-z]+) index.php?cpy=$1 [R=301,L,NC] 

RewriteRule ^([0-9]+)/?$ index.php?cid=$1 [L] 
RewriteRule ^([A-Za-z_]+)/?$ index.php?cat=$1 [L] 

다시 쓰기 규칙은

확인을 작동하는 것

하지만이 동작하지 않습니다 다른 하나는 domain.com/companies/?list=this

입니다 아파치가

,617에 대한 일치하는 항목을 찾을 수없는 것 같다
RewriteRule ^companies\/\?(.*)([A-Za-z]+) index.php?cpy=$1 [R=301,L,NC] 

누구든지 그 규칙에 잘못된 점을 알 수 있습니까? 아니면 다른 것인가?

답변

0

RewriteRule은 일반적으로 쿼리 문자열에서 일치하지 않습니다.

당신은 등

예를 들어, 그들이 %1, %2으로 나타나는 매개 변수 일치와 RewriteCond를 사용하여 일치시킬 수 있습니다.

RewriteCond %{QUERY_STRING} ^(.*)([A-Za-z]+)$ 
RewriteRule ^companies\/ index.php?cpy=%1 [R=301,L,NC] 
+0

설명해 주셔서 감사합니다. 나는 그것을 알지 못했고, 당신이 상상할 수있는 것처럼 그것은 당신이 경기를 찾으려고 할 때 세상의 모든 변화를 가져옵니다. (위대한 작품)를 사용하여 끝난 코드는 RewriteCond % {QUERY_STRING}^(. *) ([A-Za-z] +) RewriteRule^회사 \//index.php?cpy=%1%2 [ L] – kris

+0

@ kris : 저는 수년간'mod_rewrite'를 사용 해왔고 비교적 최근에 이것을 발견했습니다; 문서는 확실히 그것을 강조하지 않습니다. 다행히 분류 되었습니까? – Orbling