使用中文,日文,土耳其文,俄文时.htaccess中的字符集问题

时间:2011-07-19 05:05:56

标签: .htaccess mod-rewrite character-encoding

我的.htaccess在实时服务器上工作正常但在本地计算机上设置时显示500错误。如果我从中删除中文,日文,土耳其文,俄文规则,它的工作原理很完美,但必须有这些章程。

示例:

RewriteRule ^会員専用サイト\/今すぐ登録.php /JP/members/join_now.php?rw=$0&lang=JP&%{QUERY_STRING} [L]
RewriteRule ^Члены\/Регистрация.php /RU/members/join_now.php?rw=$0&lang=RU&%{QUERY_STRING} [L]
RewriteRule ^üye\/Kayıt-ol.php  /TR/members/join_now.php?rw=$0&lang=TR&%{QUERY_STRING} [L]
RewriteRule ^멤버구역\/가입.php    /KR/members/join_now.php?rw=$0&lang=KR&%{QUERY_STRING} [L] 

在htaccess中也使用了图表集到UTF-8但没有成功


使用WAMP的本地机器

操作系统:Windows XP,Windows 7

1 个答案:

答案 0 :(得分:1)

我在Debian 6.0机器+ windows7 wamp上成功测试了它。所以它应该工作。 当然,您需要确保您的文件编码良好,并且apache可以处理它们。

对于wamp:从通知图标打开httpd.conf文件。记事本应该弹出。 将文件另存为:选择UTF-8并过滤*.*

请确保该文件已保存为httpd.conf而非httpd.conf.txt

添加规则。

重启服务。应该管用。

FYI

在Debian 6.0上测试:

RewriteRule ^会員専$ /stack/redirect.php [L,R]

对我来说工作正常。这是日志:

 strip per-dir prefix: /var/www/会員専 -> 会員専
 applying pattern '^会員専$' to uri '会員専'
 rewrite '会員専' -> '/stack/redirect.php'
 explicitly forcing redirect with http://mysite.org/stack/redirect.php
 escaping http://mysite.org/stack/redirect.php for redirect
 redirect to http://mysite.org/stack/redirect.php [REDIRECT/302]
 strip per-dir prefix: /var/www/stack/redirect.php -> stack/redirect.php
 applying pattern '^会員専$' to uri 'stack/redirect.php'
 pass through /var/www/stack/redirect.php