.htaccess 重写规则异常

JM-AGMS

我的 .htaccess 文件中有以下规则。问题是当我尝试导航到 时site.com/news/wp-admin/,它以重定向循环结束。从我读过的其他问题/答案中,您可以通过使用来创建异常,RewriteCond %{REQUEST_URI} !^/news/wp\-admin/但这并不能解决问题。它仍然重定向。我不确定我做错了什么。

下面.htaccess是我的根。

Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteOptions inherit

RewriteCond %{REQUEST_URI} !^/news/wp\-admin/
RewriteRule ^([a-z0-9\-]+)/?$ index.php?p=$1 [L,NC,QSA,B]
RewriteRule ^([a-z0-9\-]+)/(option1|option2|option3)/?$ index.php?p=$1&type=$2 [L,NC,QSA,B]
RewriteRule ^([a-z0-9\-]+)/(option1|option2|option3)/(.+)$ index.php?p=$1&type=$2&q=$3 [L,NC,QSA,B]

如果我注释掉RewriteRule ^([a-z0-9\-]+)/?$ index.php?p=$1 [L,NC,QSA,B]它会起作用,但会破坏我网站的其余部分。

这是.htaccess/news/哪里我的WordPress是。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /news/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /news/index.php [L]
</IfModule>

# END WordPress
网站设计者

我假设你有 Apache 2,所以这意味着你必须这样做:

RewriteCond %{REQUEST_URI} !^/?news/wp-admin/

在 Apache 2 中没有前导,/因此我们将其/?设为可选,并且无需转义,-因为它没有特殊含义。

编辑

额外的删除RewriteOptions inherit会做到这一点,因为使用此选项,您将相同的规则应用于子目录,这将导致您的循环

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章