如题,来说说 Apache 使用了 301 重定向后,网址后出现双斜杠的问题(示例https://www.qicaiyun.top//)。今天在站长工具检测平台检测了一下本站的状态码,发现域名后居然是双斜杠,既然问题出现了,咱就得解决,首先附上几组Apache跳转规则:
方法一:.htaccess 强制 301 重定向 HTTPS
设置.htaccess 文件的 301 重定向,在.htaccess 文件中加入以下规则:
123456 <IfModule mod_rewrite.c>RewriteEngineonRewriteBase/RewriteCond%{SERVER_PORT}!^443$RewriteRule(.*)https://%{SERVER_NAME}/$1 [R=301,L]</IfModule>以上方法,通过.htaccess 设置 301 将 HTTP 重定向到 HTTPS 是最为常见的方法。
方法二:HTTP 80 强制转 HTTPS
全站使用 HTTPS 协议访问,所以将 HTTP 重定向到 HTTPS,在.htaccess 文件中加入以下规则
123 RewriteEngineOnRewriteCond%{SERVER_PORT}80RewriteRule^(.*)$https://%{HTTP_HOST}/$1 [R,L]或者
123 RewriteEngineOnRewriteCond%{HTTPS}!=onRewriteRule^(.*)https://%{SERVER_NAME}/$1 [R,L]强制 HTTPS 方式访问,并自动将顶级域名跳转到 WWW
以本站为例,顶级域名是指 qicaiyun.top,以下教程是将:http://qicaiyun.top跳转到https://www.qicaiyun.top/
12345 RewriteEngineOnRewriteCond%{HTTP_HOST}!^www.qicaiyun.top$[NC]RewriteRule^(.*)$https://www.qicaiyun.top/$1 [L,R=301]RewriteCond%{SERVER_PORT}80RewriteRule^(.*)$https://www.qicaiyun.top/$1 [L,R=301]强制 HTTPS 方式访问,并自动将 WWW 跳转到顶级域名
本教程是将:https://www.qicaiyun.top跳转到https://qicaiyun.top/
12345 RewriteEngineOnRewriteCond%{HTTP_HOST}!^qicaiyun.top$[NC]RewriteRule^(.*)$https://qicaiyun.top/$1 [L,R=301]RewriteCond%{SERVER_PORT}80RewriteRule^(.*)$https://qicaiyun.top/$1 [L,R=301]以上,使用.htaccess 文件将 HTTP 强制跳转到 HTTPS 的几种方法,包括顶级域名和 www 域名之间的跳转方法,amh 用户可使用面板软件“amrewrite”直接添加,修改前先效验下规则是否有错误。
接下来说说双斜杠的解决方法,
一:^(.*)$,有些教程会写成^/(.*)$,自然是不对的。
二:把 RewriteRule ^(.*)$ https://www.qicaiyun.top/$1 [L,R=301]网址后斜杠去除,改成:
RewriteRule ^(.*)$ https://www.qicaiyun.top$1 [L,R=301]
以上就是解决重定向网址后双斜杠的解决方法。




