Apache-mod_重写文件扩展名重写
对于重写扩展,我发现了以下一组规则Apache-mod_重写文件扩展名重写,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,对于重写扩展,我发现了以下一组规则 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*) $1.php [L] 但是,对于不存在的文件/目录,这些规则失败了,因为它们在每次重定向后都会在无限循环中添加.php 是否可以更改现有规则以修复此问题,或者我是否需要删除L标志,然后添加另一个条件和规则以检查*.php文件是否存在 我使用的是apache 2.2,因此END标志不适
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
但是,对于不存在的文件/目录,这些规则失败了,因为它们在每次重定向后都会在无限循环中添加.php
是否可以更改现有规则以修复此问题,或者我是否需要删除L
标志,然后添加另一个条件和规则以检查*.php
文件是否存在
我使用的是apache 2.2,因此END
标志不适用
是否可以通过修改现有规则来解决此问题,或者我是否需要删除L标志,然后添加另一个条件和规则来检查*.php文件是否存在
不要删除L
标志,正如您所说,在应用规则之前,您应该添加条件来检查不存在的文件是否为.php
,但不是在规则之后,如下所示:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule (.*) $1.php [L]