我正在尝试为我的页面设置一些重写规则。目前我有这些:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ /used-details.php?id=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
问题在于,当我尝试访问文件夹时,如http://www.domain.com/admin,而不是在admin / index.php文件中执行脚本,而是说找不到admin.php。
我想到了两个解决方法,但我不知道是否可能或如何做到这一点。
第一个是识别它是否是文件夹,如果是,则不要使用.php规则。 第二个是写一些我不希望有规则的文件夹,比如文件夹admin和文件夹new。
我该怎么做?
答案 0 :(得分:1)
RewriteCond %{REQUEST_FILENAME} !-d
表示“不是文件夹”。您可以将其添加到您的第二个cond /规则中。您可以为规则设置多个条件。
所以第二条规则将成为:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]