我的网站上有一堆反向链接,这些反向链接具有正确的URL,除了有一个意外的尾随空格,因此链接出现了尾随%20
,导致找不到页面错误。< / p>
我试过这个变种:
RewriteRule ^/%20 /
但它不起作用。
是否还需要RewriteCond
声明?
请注意,这是一个IIS 6服务器,这些是我链接到的Wordpress页面。
有人请告诉他在网址末尾删除%20
的密码。
谢谢!
答案 0 :(得分:2)
您可以使用以下规则永久重定向具有尾随%20
的所有相关网址,而不会显示尾随%20
的相同网址:
如果您在UrlDecoding Off
中使用iirf.ini
,请使用:
RedirectRule (.*)%20$ $1 [R=301]
否则,在尝试应用规则之前,IIRF会自动为您解码URL。因此,您可以使用:
RedirectRule (.*)\s$ $1 [R=301]
iirf.ini
。创建一个名为SampleUrls.txt
的文件,其中包含一些测试网址,例如:
/ NO REWRITE
/%20 REDIRECT 301 /
/article NO REWRITE
/article%20 REDIRECT 301 /article
%iirfpath%\testdriver.exe -d .
请注意:testdriver 不解码网址。
你应该得到类似于以下的输出(我删除了一些换行符):
TestDriver: linked with 'Ionic ISAPI Rewriting Filter (IIRF) 2.1.1.28 x64 RELEASE'.
TestDriver: The IIRF library was built on 'Aug 8 2011 02:26:29'
Processing URLs...(.\SampleUrls.txt)
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
NO REWRITE '/' ==> --
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
REDIRECT 301 '/%20' ==> '/'
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
NO REWRITE '/article' ==> --
OK
***
Retrieving server variable that is not supported by TestDriver (SCRIPT_NAME)
REDIRECT 301 '/article%20' ==> '/article'
OK
0 Errors in 4 Total Trials