Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Apache2.4上删除url中的双斜杠//?_Apache_Mod Rewrite_Apache2.4 - Fatal编程技术网

如何在Apache2.4上删除url中的双斜杠//?

如何在Apache2.4上删除url中的双斜杠//?,apache,mod-rewrite,apache2.4,Apache,Mod Rewrite,Apache2.4,我试图用重写规则删除url中的双斜杠,但它不起作用 我已经试过了: RewriteRule ^(([^/]+/)*)/+(.*) https://www.example.com/$1$3 [R=301,L] 或 我在我的根目录中创建了一个文件test.php,里面有一个$u服务器转储; 每当我调用example.com/test.php ou example.com///test.php时,它总是显示我的文件,但是$\u服务器['query']仍然包含//// 如何重定向它?匹配浏览器发送到服

我试图用重写规则删除url中的双斜杠,但它不起作用

我已经试过了:

RewriteRule ^(([^/]+/)*)/+(.*) https://www.example.com/$1$3 [R=301,L]

我在我的根目录中创建了一个文件test.php,里面有一个$u服务器转储; 每当我调用example.com/test.php ou example.com///test.php时,它总是显示我的文件,但是$\u服务器['query']仍然包含////
如何重定向它?

匹配浏览器发送到服务器的完整HTTP请求行,如下所示:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,}((?!%20HTTP/1.1\b)\b\w+)  [NC]
RewriteRule ^ /%1 [R=301,L,NE]
或者这个:

RewriteEngine On    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s//+(.*)\sHTTP.*$
RewriteRule ^.*$ /%1 [R=301,L]
因此,上面的代码将删除任何额外的前导斜杠

注意:清除浏览器缓存,然后进行测试

RewriteEngine On    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\s//+(.*)\sHTTP.*$
RewriteRule ^.*$ /%1 [R=301,L]