我最近将这些行添加到服务器上的.htaccess文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
我试图做的是在文件名之后消除对.php的需求。这非常有效,但其他一些东西被打破了。
该网站的网址为http://subdomain.something.domain/eCom/
,其中包含一个index.php文件,该文件在使用上述链接时自动加载。但在编辑.htaccess文件后,上面的链接返回404错误。如果我使用http://subdomain.something.domain/eCom/index
或http://subdomain.something.domain/eCom/index.php
,页面仍会正确打开。我不知道发生了什么。无论如何这可以解决?
注意:我不理解上面关于所有RewriteEngine内容的代码。我刚刚从一个希望快速修复的网站上复制过来。欢迎任何有关它的其他信息,如果这是破坏我的代码。
答案 0 :(得分:2)
将RewriteCond %{REQUEST_FILENAME} !-d
添加到第一个RewriteCond
之上,以避免匹配目录。