1

我有一个带有 htaccess 文件的网站。htaccess 有很多代码。当我创建一个新的 php 文件时,它会重定向到另一个页面。所以我检查了我的 htaccess 文件并删除了一行代码

RewriteRule ^.*\.{1}(htm|html|php)\/?   index.php [L,QSA,NC]

之后文件就可以直接访问了。任何人都可以知道上述 htacess 的含义以及它对新添加的 php 文件有何影响。

4

1 回答 1

1

这条规则:

 RewriteRule ^.*\.{1}(htm|html|php)\/?   index.php [L,QSA,NC]

默默地转发每个请求 URI,扩展名为.phpOR .htmOR.htmlindex.php

因此,即使您添加新的.php上述正则表达式^.*\.{1}(htm|html|php)\/?将匹配并且对新创建的文件的请求仍将被转发到index.php

PS:虽然在许多前端控制器(如 Wordpress、CodeIgnitor、Cake 等框架)中使用了类似的规则,但这条规则没有多大意义。

参考:Apache mod_rewrite 简介

于 2013-09-29T12:02:53.670 回答