到处重写尾部斜线

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]