2014-09-24 3 views
0

htaccess 파일을 사용하여 검색어를 리디렉션합니다.htaccess RewriteRule to Turkish Characters

RewriteRule ^search/([a-zA-Z0-9\-\s]+)$ search.php?q=$1 [L,NC] 

영어 글자 및 공백에 적합합니다.

http://localhost:8080/search/stack%20over%20flow OK 
http://localhost:8080/search/stack-over-flow OK 
http://localhost:8080/search/stack+over+flow FAIL 
http://localhost:8080/search/%C5%9Ftack%C3%B6verfl%C3%B6w (ştaköverflöw) FAIL 

The requested URL /search/ştacköverflöw was not found on this server. 

http://localhost:8080/search/%C3%B6z%20%C5%9Fan (öz şan) FAIL 

The requested URL /search/öz şan was not found on this server. 

나는이 너무이 문자로 작업해야 "+ S ö ç G ü의 Ö Ç G U"

어떤 제안?

당신은 유니 코드 문자를 포함하는 범위를 만들 수 없습니다,하지만 당신은 좀 더 느슨하기 위해 정규식을 바꿀 수

답변

0

: 당신이 범위를 지정해야하는 경우

RewriteRule ^search/([^/_.]+)$ search.php?q=$1 [L,NC] 

은 또는, 당신은 할 수 있습니다 다음과 같이하십시오.

RewriteCond %{THE_REQUEST} \ /+search/(%[89A-F][0-9A-Z]|[A-Z0-9+-]|%20)+ [NC] 
RewriteRule ^search/([^/_.]+)$ search.php?q=$1 [L]