我在.htaccess
中设置了一个规则来添加尾部斜杠,但如果主机是https
,这会导致它通过http
重定向,但我不明白为什么:
# add trailing slash
RewriteCond %{REQUEST_URI} ^'/([A-Za-z0-9'-'/]*[A-Za-z0-9'-]+)$
RewriteRule .* /%1/ [R=301,L]
因此,如果我请求https://www.example.com/some/page
,它会触发.htaccess
中的规则来添加尾部斜杠,但会将我重定向到http://www.example.com/some/page/
。
如果页面被请求为https://www.example.com/some/page/,为什么上面的规则会将其重定向到http://www.example.com/some/page/?
如何在使用正确的主机重定向的同时添加尾部斜杠?
为什么不将规则修改为:
RewriteCond %{REQUEST_URI} ^'/([A-Za-z0-9'-'/]*[A-Za-z0-9'-]+)$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}/ [R=301,L]
这也将强制使用HTTPS,这总是一件好事。:)