无法通过.htaccess强制执行尾部斜杠

时间:2016-11-01 14:47:58

标签: .htaccess trailing-slash

我的.htaccess文件位于根目录中有以下内容:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

问题是,'。html'确实从URL中删除了,但是尾部的斜杠无处可见。为什么?非常感谢

1 个答案:

答案 0 :(得分:0)

您需要在内部rewriteRules之前放置301 RedirectRules,并在规则模式中使尾部斜杠可选。

尝试:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ $1/ [L,R=301]    
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)/?$ $1.html [NC,L]