기호

2011-11-10 3 views
0

"% 11"및 "% 28"이 (가) 일부 페이지를 리디렉션하는 데 문제가 있습니다.기호

몇 페이지를 리디렉션하려고하지만 나머지는 작동하지만 리디렉션되지 않는 기호가 있음을 깨달았습니다. 예를 들어

:

Redirect 301 /cars/mercedes%11benz/ http://www.example.com/cars/mercedes-benz/

Redirect 301 /alfa-romeo/alfa-romeo-147-%282001%E2%80%932009%29-2008090174/ http://www.example.com/cars/alfa-romeo-147/

가 작동하지 않습니다.

도움을 미리 감사드립니다.

답변

0

기본적으로 ASCII 텍스트 만 허용됩니다. URL에 흰 공백이있을 수 있습니다. 그들을 제거하십시오.

mod_rewrite의 경우 문자 범위의 도트 문자를 이스케이프 할 필요가 없다는 점을 제외하고는 맞습니다. 즉, 하이픈이 처음에 올바르게 위치하고 공백이 이스케이프됩니다. ü은 아마도 이스케이프해야 할 필요는 없지만 해를 입히지 않아야합니다. 변환을하는 브라우저는 Apache가 이해하고 (내부적으로 올바른 문자로 변환하는) "브라우저"입니다.

이 시도 : 답장을

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^%?\ ]*\% 
RewriteRule ^. http://www.example.com/ [R=301,L] 


RewriteRule ^/cars/mercedes-benz/ http://www.test-site.com/cars/mercedes%11benz/ [QSA] 
+0

감사합니다. 위 코드가 전체 사이트 또는 페이지 만 리디렉션합니까? 미안, 나는이 물건에 아주 새롭다. 위에 나열된 두 페이지와 관련하여 귀하의 방법을 보여 주시겠습니까? 고마워요! – mobz

+0

기본적으로 이전 사이트에서 URL을 변경할 수 없습니다. 리디렉션을 수행 할 수있는 방법이 있습니까? 감사합니다 – mobz

+0

업데이트 된 답변보기 –