Google上有add trailing slash .htaccess的结果很多,但我发现的所有示例都需要使用您的域名,如下例所示:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !example.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]
我的问题是硬编码的域名无法在我的本地开发机器上运行。有没有办法在没有明确告诉mod_rewrite域名的情况下添加尾部斜杠?
答案 0 :(得分:7)
您无需指定域,只需使用绝对URL路径:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
这也会检查URL方案是否过时。
答案 1 :(得分:3)
这应该有效:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !example.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]