.htaccess与unicode字符有关 - 需要重定向

时间:2014-11-11 14:53:15

标签: wordpress .htaccess redirect unicode

我从WM中获得了大量的404s,这些网址似乎无法通过重定向来处理.htaccess。

主要罪魁祸首以许多看似Unicode字符的变体结束:

前三个跟踪决赛/其中第四个跟在它之前/.

  • MyArticleLocation/%20%E2%80%A8
  • MyArticleLocation/%C2%A0
  • MyArticleLocation/%C2%A0
  • MyArticleLocation%E2%80%A8/

我尝试了一些重定向,并认为这需要通过重写而不是重定向来管理。

这会有用吗?

RewriteRule ^(/%C2%A0|%E2%80%A8/|/%20%E2%80%A8)$ / [L,R=301] 

现有代码'如下':

#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModulp>

# END WordPress

另外,如何使用上面的代码进行修补?

1 个答案:

答案 0 :(得分:0)

您可以在RewriteBase行下面使用此规则:

RewriteRule ^(.+?)[\x20\xe2\xc2] /$1 [L,NE,R=301]

Apache mod_rewrite可让您使用%表示法匹配这些\x十六进制字符。