2017-04-17 16 views
1

「/ wp-admin」と「wp-login.php」のみhttpsをhttpに変更したいというワードプレスサイトがあります。私はそれを達成するために.htaccessを使いたいのですが、私は正規表現が良くありません。私の現在のhtaccessコードは以下のとおりです。特定のファイルとフォルダに対してhtaccessを使用してhttpsとhttpにサイトをリダイレクトする方法

# Force HTTPS for /my 
RewriteCond %{HTTPS} !=on 
RewriteCond %{THE_REQUEST} !^[A-Z]+\s/wp-admin [NC] 
RewriteRule !^wp-admin https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L] 

# Force HTTP for anything which isn't /my 
RewriteCond %{HTTPS} =on 
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/wp-admin [NC] 
RewriteRule ^(wp-admin) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L] 

現在のところ、wp-admin /では動作しますが、/ wp-login.phpでは動作しません。これを変更するには?

+1

なぜあなたは管理パネルとログインをHTTP経由で提供したいですか?確か** **これらの**は、HTTPSを最も安全にしたいと思うことでしょうか? – Bytewave

+0

はい、しかし、httpsでは、私の100以上のcformsが機能していません。このサイトは以前はhttpでした。しかし、SSLをインストールした後、cformsはうんざりになりました。一時的な解決策は、管理ダッシュボードでhttpsを拒否することです – OneNation

答えて

1

これであなたのルールを置き換えます

RewriteEngine on 
#http to https except "/wp-admit" and "/wp-login.php" 
RewriteCond %{HTTPS} !on 
RewriteRule ^((?!wp-admin.*|wp-login\.php).*)$ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R] 
#Redirect "/wp-admin" and "/wp-login.php" to http if accessed using https scheme 
RewriteCond %{HTTPS} on 
RewriteRule ^(wp-admin.*|wp-login\.php)$ http://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R] 

クリアブラウザのキャッシュをこれらのルールをテストする前に。