URL使用编码和“未编码”特殊字符重写

时间:2017-05-18 17:38:57

标签: .htaccess mod-rewrite encoding url-rewriting url-redirection

我需要为URL列表编写重定向,并遇到一些问题,因为它们包含编码和“未编码”的特殊字符。

示例:

http://example.com/lvl-+-1/écrire/gar%C3%A7ons/2/fr

如您所见,同一网址中有é个编码字符,如%C3%A7(ç)。我该如何为此编写重定向?

目前我正在尝试以下操作,我已使用+转义\个字符:

RewriteRule ^lvl-\+-1/écrire/gar%C3%A7ons/2/fr https://www.example.com/Boîtes [NC,L,R=301,NE]

新网址包含î等特殊字符,因此我设置了NE标记。 不幸的是,这不起作用,因为我猜这些字符要么根本不编码,要么两次。

有没有办法用“未编码”和编码字符来捕获这些URL?

1 个答案:

答案 0 :(得分:1)

要匹配%字符,请使用十六进制表示法\xMN

此规则适用于您:

RewriteRule ^lvl-\+-1/écrire/gar\xC3\xA7ons/2/fr/?$ /Boîtes [NC,L,R=301,NE]