尾部斜杠没有添加.htaccess

时间:2018-03-09 18:27:47

标签: .htaccess trailing-slash

我有以下.htaccess设置:

RewriteEngine On
RewriteBase /
DirectoryIndex index.php
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

我想要实现的目标:

  1. 从http重定向到https
  2. 从非www重定向到www
  3. 添加尾部斜杠
  4. 前两点没问题,重定向按预期工作,但第三点没有。

    如何调整现有规则以添加尾部斜杠。

1 个答案:

答案 0 :(得分:0)

您可以在.htaccess中使用这些规则:

DirectoryIndex index.php
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

# add a trailing slash to non-files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE]

确保使用新的浏览器来测试更新的规则。