2013-06-07 2 views
4

russian slug로 URL을 특정 PHP 페이지로 리디렉션하는 방법은 무엇입니까? 예를 들면 나는이 URL을 가지고있다.러시아어와 일치하는 정규 표현식 .htaccess의 모든 키릴 문자 허용

http://www.example.com/основной-момент.htm 

그리고 당신이 당신의 .htaccess 파일의 특정 페이지에 대해이 같은 것을 시도 할 수 서버에 사용할 수 있는지 htaccess로

http://www.example.com/category.php?slug=<russian slug> 
+1

이 링크를 확인할 수 있습니다. http://code.google.com/p/php-slugs/ – Rinku

답변

3

이 하나에 리디렉션 할 :

RewriteEngine On 
RewriteRule ^основной-момент.htm$ category.php?slug=ru 

정규 표현식에서 서버에서 문자 집합을 사용하는 경우 문자의 범위를 사용할 수 있어야합니다.

RewriteRule ^([A-Яа-я-]+)\.htm$ category.php?slug=ru 

당신이 (다만 영어 등)이을 사용 문구 캡처하려면 :

RewriteRule ^([A-Яа-я-]+)\.htm$ category.php?slug=$1 

또 다른 방법은 당신이 동적 언어를 사용하는 경우

#For users with Russian as their primary browsing language 
RewriteCond %{HTTP:Accept-Language} ^ru [NC] 
RewriteRule .* category.php?slug=ru 

또한 언어를 감지하여입니다 서버는 구문 분석을 위해 REQUEST_URI var를 사용할 수 있어야하며 아파치가 콘텐츠 및 프로그래밍 언어 (PHP 또는 Perl과 같은)를 제공 할 때 의도 한 언어를 결정할 때 파싱을 통해 더 많은 일을 할 수 있습니다.

+0

감사합니다.이 정규식은 저에게 효과적입니다. – Zohaib