Innanzitutto, vorrei rimuovere www. dal mio nome di dominioRimuovere www site-wide, forzare https su determinate directory e http sul resto?
http://www.example.com =>http://example.com
mi piace anche per alcune directory per essere sicuro (https), mentre il resto rimane http
http://example.com/login =>https://example.com/login
Ovviamente ha bisogno lavorare per tutte le condizioni, ad esempio se qualcuno digita:
http://www.example.com/login =>https://example.com/login
Inoltre, quando le persone si allontanano dalla pagina di accesso, ritorna a http. Attualmente in .htaccess è il seguente, che viene fatto automaticamente dal software che sto usando e suppongo che ha bisogno di essere lì per farlo funzionare:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* ./index.php
Tutte le idee su come posso ottenere
controllo del sogno
tutti questi cose?
Grazie in anticipo!
===================
@Gumbo seguito il tuo consiglio questo è il mio completo .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
Navigazione verso http://example/login va ancora a http://example/index.php quando dovrebbe andare a https://example/login Ho sbagliato l'ordine?
Um, '^ (login | foo | bar | ...) $' era solo un esempio che corrisponde 'login',' foo', 'bar ', ecc. – Gumbo
Sì, vedo, l'ho provato con solo^(accesso) $ ma mostra ancora lo stesso comportamento – Anthony