Mod rewrite 如何重写最后意外出现%20的URL?
最后,我得到了一堆指向我的站点的反向链接,这些反向链接都有正确的URL,只是有一个意外的尾随空格,因此链接出现了尾随Mod rewrite 如何重写最后意外出现%20的URL?,mod-rewrite,iirf,Mod Rewrite,Iirf,最后,我得到了一堆指向我的站点的反向链接,这些反向链接都有正确的URL,只是有一个意外的尾随空格,因此链接出现了尾随%20,这会导致页面未找到错误 我尝试了这方面的变化: RewriteRule ^/%20 / 但它不起作用 是否还需要RewriteCond语句 请注意,这是一个IIS 6服务器,这些是我链接到的Wordpress页面 有人请告诉他要去掉URL末尾的%20的密码 谢谢 您可以使用以下规则,将所有具有尾部%20的相关url永久重定向到相同的url,而不具有尾部%20: 如果在您的
%20
,这会导致页面未找到错误
我尝试了这方面的变化:
RewriteRule ^/%20 /
但它不起作用
是否还需要RewriteCond
语句
请注意,这是一个IIS 6服务器,这些是我链接到的Wordpress页面
有人请告诉他要去掉URL末尾的%20
的密码
谢谢 您可以使用以下规则,将所有具有尾部
%20
的相关url永久重定向到相同的url,而不具有尾部%20
:
如果在您的iirf.ini
中使用urldescoding Off
,请使用:
RedirectRule (.*)%20$ $1 [R=301]
否则,IIRF会在尝试应用规则之前自动为您解码URL。因此,您可以使用:
RedirectRule (.*)\s$ $1 [R=301]
为了测试这一点,请使用:
iirf.ini
的文件中SampleUrls.txt
的文件,其中包含一些测试URL,例如:
/ NO REWRITE
/%20 REDIRECT 301 /
/article NO REWRITE
/article%20 REDIRECT 301 /article
%iirpath%\testdriver.exe-d的命令调用testdriver。
非常感谢!我检查了日志文件,发现它会自动将%20替换为一个空格,所以我稍微修改了上面的表达式,即“RedirectRule(.*)\s$$1[R=301]”,效果非常好@phil,这是因为iirf在默认情况下使用URL解码——我相应地修改了答案。
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