通过.htaccess或PHP删除URL中的重复斜杠

时间:2013-04-21 12:30:15

标签: php .htaccess url mod-rewrite duplicates

我正在尝试从网址中删除重复的斜杠。以下.htaccess规则:

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

请勿使用以下网址为我工作:

http://www.mp7.org/?site=69.com\\\\\\\\\\\\\\\\

.htaccess文件

#### mod_rewrite in use
Options +FollowSymlinks
RewriteEngine On

2 个答案:

答案 0 :(得分:0)

此规则不适用于反斜杠。您必须使用反斜杠添加类似的规则

RewriteRule ^(.+)\\\\+(.*)$ $1\\$2 [L,R]

如果要用(正向)斜杠替换反斜杠,请使用此规则

RewriteRule ^(.+)\\\\+(.*)$ $1/$2 [L,R]

并删除请求末尾的所有反斜杠

RewriteRule ^(.*?)[/\\]+$ $1 [L,R]

,当它是查询字符串

时也是如此
RewriteCond %{QUERY_STRING} ^(.*=.*?)[/\\]+$
RewriteRule ^.*$ $0?%1 [R,L,QSA]

如果一切正常,您可以将R更改为R=301

在启用301的情况下

从不测试,请参阅此答案 Tips for debugging .htaccess rewrite rules 详情。

答案 1 :(得分:0)

这是因为IIS服务器,几乎可以肯定你的网站是.Net .asp或。 aspx你需要投入使用一个微型脚本,当你的服务器被给予http或https需求它必须Lcase(URL)。如果没有很多页面,您可以将所有页面重命名为小写,将所有WebPages内部链接修改为小写,然后在Google网站管理员工具中修改该网址删除请求。

如何删除重复的网址