我们的HTTPS
网站已在Google上编入索引。我们需要将其重定向到HTTP
。我们使用以下代码:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
</IfModule>
将https
重定向到http
,效果很好。
但是,我想从https
到http
重定向排除所有Wordpress管理员,因为我想让Wordpress管理员在https
上工作,所以我添加了:< / p>
RewriteCond %{REQUEST_URI} !^wp-admin
将.htaccess代码转换为:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^wp-admin
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
</IfModule>
不幸的是,这不起作用,并且尝试加载/wp-admin
超过https
会导致重定向过多而且Wordpress信息中心无法加载。
www.example.com重定向了你太多次了。
从/ https
到http
重定向中排除/ wp-admin会有所帮助。
答案 0 :(得分:4)
尝试以下操作,除了目录wp-admin:
之外,这应该强制一切都是HTTPRewriteEngine On
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{REQUEST_URI} ^\/(wp-admin)
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{HTTP:X-Forwarded-SSL} =on
RewriteCond %{REQUEST_URI} !^\/(wp-admin)
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]
如果您遇到上述问题,也可以尝试:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/wp-admin
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]