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>
# ワードプレス終了