我有一个包含htaccess文件的网站。 htaccess有很多代码。当我创建一个新的PHP文件时,它会重定向到另一个页面。所以我检查了我的htaccess文件并删除了一行代码
RewriteRule ^.*\.{1}(htm|html|php)\/? index.php [L,QSA,NC]
之后该文件可以直接访问。任何人都可以知道上面的htacess的含义,它如何影响新添加的PHP文件。
答案 0 :(得分:1)
这条规则:
RewriteRule ^.*\.{1}(htm|html|php)\/? index.php [L,QSA,NC]
默默转发每个请求URI,其扩展名为.php
或.htm
或.html
到index.php
因此,即使您在正则表达式.php
之上添加新的^.*\.{1}(htm|html|php)\/?
也会匹配,并且对新创建的文件的请求仍会转发到index.php
PS:虽然在许多前端控制器(如Wordpress,CodeIgnitor,Cake等框架)中使用了类似的规则,但这条规则并没有多大意义。