0

我有一个用户发送了一个要打印的 QR 码,并且嵌入的 URLé在末尾包含一个带重音的 e ( )。该链接指向一个清理永久链接的 wordpress 站点(通过删除诸如重音字符之类的内容),因此我不能简单地更改 URL 以包含,é因为 wordpress 不允许我这样做。结果是带有 的 URL 与使用é的所需永久链接不匹配e,并导致 404 结果。

有没有办法mod_rewrite识别错误é并将其更改为e?在这种特殊情况下,é只会出现在 url 的末尾,并且只需要切换到e,但一般情况下会很有趣。

我试过的是

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    # if a é is encountered at the end of a URL, switch it to an e
    RewriteRule ^(.+)[é] $1e [NE]
 </IfModule>

但没有运气。我怀疑这与它实际上é不是é作为编码版本发送的事实有关,é但我不确定。

谁能引导我朝着正确的方向前进?

4

2 回答 2

0

看起来这对我有用”

RewriteRule ^(.*)é(.*)$ /$1e$2 [R=301,L]

感谢大家!

于 2013-02-08T18:30:17.633 回答
0

问题可能是 Apache 实际上并没有将字符视为é其他东西。当我尝试它时,Apache 实际上这个字符是é.

试试这个规则:

RewriteRule (.*)é $1e

希望能帮助到你。

于 2013-02-08T17:47:44.393 回答