.htaccess重定向到HTTPS正在删除/在域和URI之间

时间:2017-09-21 16:07:07

标签: apache .htaccess redirect mod-rewrite

我正在尝试使用.htaccess将HTTP重定向到HTTPS。我遇到的问题是当用户添加到路径时,域名是" /"重定向后删除域和路径之间的内容。如何让我的重写保留域后的斜杠?

http://www.example.com/blog/post

重写为:

https://www.example.comblog/post

以下是我正在使用的.htaccess文件。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}/%{REQUEST_URI}/

1 个答案:

答案 0 :(得分:0)

您可以简单地强制使用尾部斜杠,因此无论用户做什么,它都会在您的网址末尾添加/

RewriteEngine on
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

它将使用永久301重定向。确保在>测试之前清除缓存