为了账号安全,请及时绑定邮箱和手机立即绑定

.htaccess mod_rewrite-如何从重写规则中排除目录

.htaccess mod_rewrite-如何从重写规则中排除目录

.htaccess mod_rewrite-如何从重写规则中排除目录我的.htaccess文件中有8行重写规则。我需要将服务器上的两个物理目录排除在这些规则之外,这样就可以访问它们。现在,所有请求都发送到index.php文件。要排除的目录:“admin”和“user”。因此,http请求:http://www.domain.com/admin/不应传递给index.php文件。ErrorDocument 404 /index.php?mod=error404 Options  FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST}  !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] RewriteRule ^([^/] )  /([^/] )\.html$ index.php?lang=$1&mod=$2 [L] RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]
查看完整描述

4 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

在其他规则之前尝试此规则:

RewriteRule ^(admin|user)($|/) - [L]

这将结束重写过程。


查看完整回答
反对 回复 2019-07-09
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您还可以做的是放置一个.htaccess文件,其中包含

RewriteEngine Off

在您想要被重写的文件夹中(通过树中较高的.htaccess文件中的规则)。简单但有效。


查看完整回答
反对 回复 2019-07-09
?
森栏

TA贡献1810条经验 获得超5个赞

添加一个条件来检查管理目录,如下所示:

RewriteCond %{REQUEST_URI} !^/?(admin|user)/ RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L]
 RewriteCond %{REQUEST_URI} !^/?(admin|user)/ RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]


查看完整回答
反对 回复 2019-07-09
  • 4 回答
  • 0 关注
  • 1296 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信