通过的.htaccess或PHP的URL删除重复斜杠(Removing duplicate slas

2019-08-31 16:44发布

我试图从URL中移除重复的斜线。 下面的.htaccess规则:

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

我对URL不起作用,如以下几点:

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

.htaccess文件

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

Answer 1:

这条规则不适用于反斜线工作。 您必须添加反斜杠类似的规则

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

如果你想与(前)斜杠来代替反斜杠,使用这个规则,而

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

并删除所有后台/斜线在请求结束

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

和相同的,当它是一个查询字符串

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

如果一切正常,你期望的那样,你可以改变RR=301

决不会测试301启用,看到这个答案的调试技巧的.htaccess重写规则的详细信息。



Answer 2:

这是因为IIS服务器的,并且主要是几乎可以肯定你的网站是.NET中的.asp或城市化。 ASPX你需要投入服务的一个缩影脚本,当您的服务器被赋予HTTP或HTTPS要求它必须LCASE(URL)。 如果没有大量的页面,你可以全部在小写重命名,修改网页内的所有链接到小写并在谷歌网站管理员工具的吸引力网址删除请求后。

如何删除重复的网址



文章来源: Removing duplicate slashes in URL via .htaccess or PHP