从重写规则htaccess中排除子文件夹

时间:2015-01-22 15:48:41

标签: .htaccess mod-rewrite url-rewriting

我的网站上有一个博客页面,.htaccess如下所示转换SEO友好网址

RewriteRule ^([^/.]+)/?$ /blogdetail?prmn=$1 [L]

所以,我的网址变为http://example.com/title-of-blog并且它工作得非常好并且很棒但是我的客户今天报告说管理部分工作不正常我检查并发现网址http://example.com/admin正在转换为{ {1}}因为上述规则。

我用谷歌搜索了如何从Rewrite中排除http://example.com/admin?prmn=admin文件夹然后我在下面

admin

当我使用它时,当我输入RewriteRule ^admin($|/) - [L] 然后我得到我在htaccess中定义的错误页面。

请帮忙。我的完整Htaccess如下

http://example.com/admin

1 个答案:

答案 0 :(得分:1)

我认为还有另一条规则可以对/admin执行某些操作,但由于您使用的是第二条规则,因此它永远不会达到该规则。使用条件来排除以admin开头的任何内容。另请注意,规则会将其重写为/blogdetail?prmn=admin,因此某些地方会被重写。

RewriteCond %{REQUEST_URI} !^/(admin|blogdetail)
RewriteRule ^([^/.]+)/?$ /blogdetail?prmn=$1 [L]