我正在尝试使用 htaccess 自动将所有对某些页面的请求定向到 https,将其他所有请求定向到 http://
这是我有代码强制ssl在下面工作的代码
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^va-homebuyers-guide https://domain.com/va-homebuyers-guide/ [R=301,L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^va-purchase-request https://domain.com/va-purchase-request/ [R=301,L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^va-streamline-refinance https://domain.com/va-streamline-refinance/ [R=301,L]
这按预期工作并重定向到这些页面的 ssl 版本。然后我尝试添加以下内容以将其他所有内容重定向到 http:
RewriteCond %{SERVER_PORT} !^80
RewriteCond %{REQUEST_URI} !^va-homebuyers-guide$
RewriteCond %{REQUEST_URI} !^va-purchase-request$
RewriteCond %{REQUEST_URI} !^va-streamline-refinance$
RewriteRule ^(.*)$ http://domain.com/$1 [R,L]
此代码在转到 /va-purchase-request /va-homebuyers-guide 和 /va-streamline-refinance 时会导致重定向循环,并且根本不会重定向其他页面。
我完全坚持这一点,任何帮助将不胜感激!
编辑:
我在wordpress添加的.htaccess文件中也有这个代码......它会干扰其他重定向吗?
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# 结束 WordPress