到处重写尾部斜线
Rewrite trailing slash everywhere
我的 .htaccess
文件有问题。
它看起来像这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^website\.de [NC]
RewriteRule ^(.*)$ http://www.website.de/folder/ [L,R=301]
RewriteRule ^traffic/?$ traffic.php [NC,L]
RewriteRule ^what-if/?$ whatif.php [NC,L]
如果我调用 www.website.de/folder/traffic
,我会得到 www.website.de/folder/traffic/
。
但是,如果我调用 www.website.de/folder/what-if
,则尾随的 /
会丢失。
怎样才能到处添加呢?
您必须指定 RewriteBase
,因为您的 htaccess 位于子文件夹中。
此外,您必须禁用 MultiViews
选项以避免出现问题。
Options -MultiViews
RewriteEngine On
RewriteBase /folder/
RewriteCond %{HTTP_HOST} ^website\.de$ [NC]
RewriteRule ^(.*)$ http://www.website.de/folder/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.+)$ / [R=301,L]
RewriteRule ^traffic/$ traffic.php [NC,L]
RewriteRule ^what-if/$ whatif.php [NC,L]
我的 .htaccess
文件有问题。
它看起来像这样:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^website\.de [NC]
RewriteRule ^(.*)$ http://www.website.de/folder/ [L,R=301]
RewriteRule ^traffic/?$ traffic.php [NC,L]
RewriteRule ^what-if/?$ whatif.php [NC,L]
如果我调用 www.website.de/folder/traffic
,我会得到 www.website.de/folder/traffic/
。
但是,如果我调用 www.website.de/folder/what-if
,则尾随的 /
会丢失。
怎样才能到处添加呢?
您必须指定 RewriteBase
,因为您的 htaccess 位于子文件夹中。
此外,您必须禁用 MultiViews
选项以避免出现问题。
Options -MultiViews
RewriteEngine On
RewriteBase /folder/
RewriteCond %{HTTP_HOST} ^website\.de$ [NC]
RewriteRule ^(.*)$ http://www.website.de/folder/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.+)$ / [R=301,L]
RewriteRule ^traffic/$ traffic.php [NC,L]
RewriteRule ^what-if/$ whatif.php [NC,L]