まず、wwwを削除したいと思います。私のドメイン名から
http://www.example.com => http://example.com
また、特定のディレクトリを安全 (https) にし、残りは http のままにしたいと考えています。
http://example.com/login => https://example.com/login
明らかに、誰かが次のように入力した場合など、すべての条件で機能する必要があります。
http://www.example.com/login => https://example.com/login
また、ユーザーがログイン ページから移動すると、http に戻ります。現在 .htaccess には、私が使用しているソフトウェアによって自動的に行われる次のものがあります。動作させるには、そこにある必要があると思います。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ./index.php
これらすべてを夢でコントロールする方法についてのアイデアはありますか?
前もって感謝します!
===================
@Gumboあなたのアドバイスに従って、これは私の完全な.htaccessです
RewriteEngine On
# remove www from host
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]
# force HTTPS
RewriteCond %{HTTPS} =off
RewriteRule ^(login)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# force HTTP
RewriteCond %{HTTPS} =on
RewriteRule !^(login)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ./index.php
Options -Indexes
http ://example/loginに移動すると、 https://example/loginに移動する必要があるときに、まだhttp://example/index.phpに移動します。順序が間違っていますか?