htaccess中的重定向301会更改网址编码

时间:2015-01-31 16:05:46

标签: apache .htaccess redirect encoding

这是我的.htaccess代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.co\.il$ [NC]
RewriteRule ^(.*)$ http://www.domain.co.il/$1 [L,R=301]

当我尝试在查询字符串中输入带有希伯来语的网址时,编码会发生变化。

例如,输入此网址:

domain.co.il/subfolder/index.php?title=אלגברה

将导致:

http://www.domain.co.il/subfolder/index.php?title=%25D7%2590%25D7%259C%25D7%2592%25D7%2591%25D7%25A8%25D7%2594

不存在。

(顺便说一下,www.domain.co.il/subfolder/index.php?title=אלגברה的工作正常......)

1 个答案:

答案 0 :(得分:1)

这样做:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.co\.il$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

NE标志将确保在重定向时不进行编码。