我们的 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
,效果很好。
但是,我想将所有 WordPress 管理从 https
到 http
重定向中排除,因为我想让 Wordpress 管理通过 https
,所以我添加了:
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>
不幸的是,这不起作用,并且尝试通过 https
加载 /wp-admin
会导致太多重定向,并且 WordPress 仪表板无法加载。
www.example.com redirected you too many times.
希望得到一些帮助,将/wp-admin 从 https
到 http
重定向中排除。
最佳答案
尝试以下操作,这应该强制除目录 wp-admin 之外的所有内容都使用 HTTP:
RewriteEngine 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]
关于wordpress - 强制 https 重定向到 http,Wordpress/wp-admin 目录除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37761813/