我的标准域名为https://example.com/,因此其他所有内容都应该重定向到那里。
我使用此代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
</IfModule>
不幸的是,当我转到http://example.com/或http://www.example.com/时,我会被重定向到https://example.com//
如何删除双斜线?
答案 0 :(得分:2)
删除目标中/
之前的%{REQUEST_URI}
。
您实际上可以在一个规则中执行此操作:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L,NE]
</IfModule>
在新浏览器中测试或清除浏览器缓存。