如何编辑htaccess以添加此重写规则


How to edit the htaccess to add this rewrite rule?

我正在尝试为我的页面设置一些重写规则。目前我有这些:

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规则。第二个是写一些我不想有规则的文件夹,比如文件夹管理员和文件夹新建。

我该怎么做?

RewriteCond %{REQUEST_FILENAME} !-d的意思是"不是文件夹"。你可以把它添加到你的第二个cond/规则中。一个规则可以有多个条件。

因此,第二条规则将变为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^'.]+)$ $1.php [NC,L]