regra de reescrita .htaccess para redirecionar forçosamente https para http
Eu tenho um domínio primáriohttps://www.domain.com
ouhttps://domain.com
e um DNS curinga comohttps://domain.com/index.php?name=abcd
redirecionar com forçahttp://abcd.domain.com
mas tenho outro problema, minha página de login éhttps://domain.com/login.php?name=abcd
e eu quero resultado como forçahttp://domain.com/login.php?name=abcd
mas não pode redirecionar no HTTP.
RewriteEngine On
#match either the www subdomain or no subdomain
RewriteCond %{HTTP_HOST} ^(?:www.)?(?:domain\.com)$
#which request index.php
RewriteCond %{REQUEST_URI} ^/index\.php
#and contain a username paramater
RewriteCond %{QUERY_STRING} ^(.*?)(?:^|&)name=([^&]+)(.*?)$
#then rewrite them to name.domain.com without the name parameter
RewriteRule ^ http://%1.domain.com%{REQUEST_URI} [R,L]
#match either the www subdomain or no subdomain
RewriteCond %{HTTP_HOST} ^(?:www.)?(?:domain\.com)$
#which was requested without https
RewriteCond %{HTTPS} off
#then redirect to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
#Capture subdomain
RewriteCond %{HTTP_HOST} ^([^.]+)\.(?:domain\.com)$
#If we're not working on www
RewriteCond %{HTTP_HOST} !^(?:www.domain\.com)$
#If querystring doesn't contain name
RewriteCond %{QUERY_STRING} !^(.*?)(?:^|&)name=([^&]+)(.*?)$
#Add username to querystring
RewriteRule index.php index.php?name=%1 [L,QSA]
este código htaccess está funcionando bem, mas eu quero o script de login no htaccess
Após esclarecimentos no chat, é disso que preciso:
Todos os URLs devem ser reescritos parahttps
, excetologin.php
, que deve permanecer emhttp
. E selogin.php
entra comohttps
, reescreva-o parahttp
.