隐藏静态文件的php扩展

时间:2011-07-05 13:26:27

标签: mod-rewrite

我在类别中使用了这条规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-/]+)$ categories.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+)/$ categories.php?url=$1

我想为xxx.php之类的静态文件隐藏php扩展。我正在使用这条规则:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php  -f
RewriteRule ^(.*)$ $1.php

此规则不起作用,xxx.php转到categories.php页面。静态页面可以使用什么规则?我可以使用任何“文件夹/(.*)$ $ 1.php”吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

应该可以正常工作,如果,请确保将第二组规则放在。请记住,规则是按顺序执行的。因此,按照您在帖子中有规则的顺序,xxx的请求将在第二个规则看到请求之前被重写为categories.php?url=xxx ...因此它永远不会触发。