2014-09-12 2 views
1

.htaccess 파일에 다른 규칙이 있지만 개별적으로 잘 작동하지만 하나의 파일에는 결합하지 않았습니다. 여기 내 파일의 몇 가지 예입니다 : .htaccess의 재 작성 조합이 작동하지 않습니다.

# take care of %C2%A0 
RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE] 

# executes **repeatedly** as long as there are more than 1 spaces in URI 
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE] 

# executes when there is exactly 1 space in URI 
RewriteRule "^productdetails/617/6/(\S*) (\S*?)/?$" /$1-$2/302 [L,R=302,NE] 

또한 나는 다음있어 :

여전히 잘 작동
RewriteCond %{QUERY_STRING} ^pid=617/?$ 
RewriteRule ^productdetails\.asp$ /Casio-CDP120-Digital-Piano-in-Black/302? [L,NC,R=301] 

. 다시 쓰는 데 사용

RewriteRule "^categories/3/Kawai Digital Pianos/?$" /Compare/Kawai-Digital-Pianos [L,NC,R=301] 

가 : 이제 다음과 같은 추가 한

mysite.co.uk/categories/3/Kawai%20Digital%20Pianos/ to mysite.co.uk/Compare/Kawai-Digital-Pianos 

이 더 이상

어떤 도움이 다른 사람과 함께 작업 마지막 규칙을 얻기 위해 작동하지 않는 것 위대하다

답변

0

규칙의 순서가 올바른지 확인해야합니다. 귀하의 예를 들어 주문을 작동합니다 :

RewriteRule "^categories/3/Kawai Digital Pianos/?$" /Compare/Kawai-Digital-Pianos [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^pid=617/?$ 
RewriteRule ^productdetails\.asp$ /Casio-CDP120-Digital-Piano-in-Black/302? [L,NC,R=301] 

# take care of %C2%A0 
RewriteRule ^(.+)\xc2\xa0(.+)$ $1-$2 [L,NE] 

# executes **repeatedly** as long as there are more than 1 spaces in URI 
RewriteRule "^(\S*) +(\S* .*)$" $1-$2 [L,NE] 

# executes when there is exactly 1 space in URI 
RewriteRule "^productdetails/617/6/(\S*) (\S*?)/?$" /$1-$2/302 [L,R=301,NE] 
+1

환상적인 치료를하고있다. 오늘 당신의 도움에 다시 한번 감사드립니다. 그렇지 않으면 오래 전에 불면의 밤이었을 것입니다. – Ria

+0

알아두면 좋습니다. 그것이 다행했기 때문에. – anubhava

관련 문제