.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]


慕的地6264312
浏览 1303回答 4
4回答

一只萌萌小番薯

在其他规则之前尝试此规则:RewriteRule ^(admin|user)($|/) - [L]这将结束重写过程。

素胚勾勒不出你

您还可以做的是放置一个.htaccess文件,其中包含RewriteEngine Off在您想要被重写的文件夹中(通过树中较高的.htaccess文件中的规则)。简单但有效。

森栏

添加一个条件来检查管理目录,如下所示: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]
打开App,查看更多内容
随时随地看视频慕课网APP