为什么URL重写不能用于.html扩展名?

时间:2019-06-08 20:57:39

标签: .htaccess url-rewriting

我正在尝试

/pages/Settings.html

显示为

/Settings

通过使用RewriteRule

RewriteRule    ^([A-Za-z_]+)$       pages/$1.html                 [NC]    # Handle pages
.htaccess文件中的

。这是行不通的。但是,

/pages/ANYOTHERFILE.php

通过使用

RewriteRule    ^([A-Za-z_]+)$       pages/$1.php                  [NC]    # Handle pages

要重写为

/ANYOTHERPAGE

为什么前者不起作用而后者却起作用?如何获得.html扩展名,以这种方式进行重写?

1 个答案:

答案 0 :(得分:0)

将此规则添加到您的.htaccess文件顶部

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /pages/$1.html [L]