0

我正在尝试运行一个站点,该站点通过 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 规则的前面,但它似乎并没有什么不同

4

1 回答 1

1
RewriteRule ^wp-admin - [L]

将此规则添加到顶部,高于所有其他规则。

于 2012-12-01T12:28:29.307 回答