我想更改 url 中的字符。例如从这个
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
我想更改 url 中的字符。例如从这个
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
您必须记住,尽管 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 的 RewriteMap,但您需要访问服务器或虚拟主机配置才能进行设置。