我正在尝试通过index.php文件运行一个路由所有URI请求的站点进行处理,但我也试图在webroot上运行Wordpress。一切正常,除了https://mysite.com/wp-admin/的请求,这给了我一个“此网页有一个重定向循环”错误。转到https://mysite.com/wp-admin/edit.php可以正常工作。
我的.htaccess文件如下所示:
RewriteEngine On
# eliminate www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# force SSL
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}/%1 [R,L]
RewriteBase /
# rewrite directory patterns
RewriteRule ^([a-zA-Z0-9-\/]+)/([a-zA-Z0-9-%/\/]+)/([0-9]+)$ /index.php?page=$1&action=$2&id=$3 [NC,QSA,L]
RewriteRule ^([a-zA-Z0-9-\/]+)/([a-zA-Z0-9-%/\/]+)$ /index.php?page=$1&action=$2 [NC,QSA,L]
RewriteRule ^([a-zA-Z0-9-\/]+)$ /index.php?page=$1 [NC,QSA,L]
# Wordpress
<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
任何想法导致重定向循环的原因是什么?我试过把
RewriteCond %{REQUEST_URI} !wp-admin
在力SSL之前并消除了www规则,但它似乎没有什么区别
答案 0 :(得分:1)
RewriteRule ^wp-admin - [L]
在顶部添加此规则,高于所有其他规则。