0

我想强制删除文件扩展名。

示例: domain.com/sub/index.html to 应该被自动重定向到 domain.com/sub/index [没有尾部斜杠]

我使用的 .htaccess 代码不是我真正想要的。它允许 index.html 存在,如果键入 domain.com/sub/index 它会自动重定向到 domain.com/index/ [它转到根目录并添加尾部斜杠]

请帮忙。这是我的 .htaccess 代码

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html 

# Forces a trailing slash to be added
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\im\.[a-zA-Z0-9]{1,5}|)$
RewriteRule (.*)$ /$1/ [R=301,L] 
4

1 回答 1

0

在设置任何条件之前,您需要设置基本路径,如下所示:

RewriteBase /sub

您还需要从规则中删除两个斜杠。所以,/$1/会变成$1

于 2013-03-12T05:04:32.507 回答