我想更改网址中的字符。例如,从
http://stackoverflow.com/palety-ciężkie
到此:
http://stackoverflow.com/palety-ciezkie
我想改变迹象:
ą|a, Ą|a, ć|c, Ć|c, ę|e, Ę|e, ł|l, Ł|l, ń|n, Ń|n, ó|o, Ó|o, ś|s, Ś|s, ź|z, Ź|z, ż|z, Ż|z
答案 0 :(得分:0)
您必须记住,尽管URI /abc-ą
被编码为/abc-%C4%85
,但在通过重写引擎发送时,它会被取消编码。所以你需要一个规则来转换每一个:
RewriteRule ^(.*)ą(.*)$ /$1a$2 [R=301,L]
RewriteRule ^(.*)Ą(.*)$ /$1a$2 [R=301,L]
RewriteRule ^(.*)ć(.*)$ /$1c$2 [R=301,L]
RewriteRule ^(.*)Ć(.*)$ /$1c$2 [R=301,L]
RewriteRule ^(.*)ę(.*)$ /$1e$2 [R=301,L]
RewriteRule ^(.*)Ę(.*)$ /$1e$2 [R=301,L]
等。如果您不想重定向,而是希望在服务器上内部重写URI(例如,使浏览器的地址栏不会更改),则从括号中删除R=301.
。
另一种选择是创建一个地图文件并使用mod_rewrite's RewriteMap,但您需要访问服务器或vhost配置才能进行设置。