Autor | Zpráva | ||
---|---|---|---|
PetraPP Profil |
Ahojte,
chci přejít s webem na HTTPS, avšak potřebuji HTTPS "vypnout" pro dva soubory, které používám pro upload informací z Raspberry, které mohu přenastavit až po novém roce (jsou umístěné daleko - zahrady). Nerada bych tedy jim znemožnila posílání dat, protože Raspberry posílá data přes CURL do HTTP. Soubory mám na FTP ve složce /raspberry/ a /raspberry_2/ Z nastavení .htaccess u HTTPS jsem našla tohle, ale týká se to pro celou doménu. Jak udělat, aby se to netýkalo pro určité soubory? RewriteEngine on RewriteCond %{HTTPS} off RewriteCond %{ENV:HTTPS} !^.*on RewriteRule ^(.*)$ https://example.cz/$1 [R,L] # Pridani lomitka na konec (krome souboru) RewriteCond %{REQUEST_URI} /([^\.]+)$ RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_URI} !/$ RewriteRule ^((.*)[^/])$ /$1/ [R=301,L] # Presmerovani www.example.cz -> example.cz RewriteCond %{HTTP_HOST} ^www.example\.cz [NC] RewriteRule ^(.*)$ https://example.cz/$1 [R=301,L] # Presmerovani duplicit RewriteRule ^index.html https://example.cz/ [R=301,L] RewriteRule ^index.htm https://example.cz/ [R=301,L] RewriteRule ^default.asp https://example.cz/ [R=301,L] RewriteRule ^default.aspx https://example.cz/ [R=301,L] |
||
Kajman Profil |
#2 · Zasláno: 30. 11. 2019, 12:44:14
Můžete např. použít flag S na přeskočení následujích pravidel, nebo flag L na ukončení aktuálního procházení pravidel
#pro url zacinaji na raspberry neprovadet nasledujici jedno pravidlo RewriteRule ^raspberry - [S=1] #presmerovani na https RewriteCond %{HTTPS} off RewriteCond %{ENV:HTTPS} !^.*on RewriteRule ^(.*)$ https://example.cz/$1 [R=302,L,NE] Na test přesměrovní je lepší používat 302 a třeba až po týdnu, až je jistota, že to nikde nezlobí, tam dát 301. Při přesměrování (minimálně tam, kde používáte v cíli proměnné) používejte flag NE. Curl dle nastavení umí následovat přesměrování. Je vhodné omezit počet pro případné zacyklení. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_MAXREDIRS, 10); |
||
PetraPP Profil |
Moc děkuji za výpomoc, ale nefunguje to :( Stále si to jede na HTTPS a i když vložím URL bez HTTPS jako http://, tak se to samo přesměruje na https :(
Zkouším na testovacím soubor http://example.cz/raspberry/test.php .... a hodí mně to zpět na https.
Zkoušela jsem použít i upravený script, trochu jsem zkoušela, ale bez výsledku. RewriteRule ^raspberry - [S=1] RewriteCond %{HTTPS} on RewriteCond %{ENV:HTTPS} !^.*off RewriteRule ^(.*)$ http://www.example.cz/$1 [R=302,L,NE] Na internetu jsem zkoušela hledat a našla script, který již přesmerovává z HTTPS na HTTP, ale vypíše to, že stránka nebyla nalezena. Tož nevím. RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} ^/domains/example.cz/raspberry/test.php RewriteRule ^ http://www.example.cz/raspberry/test.php [R=301,L,QSA] /domains/ používám proto, protože mám WEDOS.cz a ty jejich aliasy .. multihosting nebo jak se to jmenuje. Za každou radu budu opravdu moc ráda. Potřebuji vypnout HTTPS pouze pro určité soubory, což bohatě stačí. |
||
Kajman Profil |
#4 · Zasláno: 30. 11. 2019, 20:01:50
Můžete zkusit ještě obecnější podmínku, že to je někde v url
#pro url obsahujici raspberry neprovadet nasledujici jedno pravidlo RewriteRule raspberry - [S=1] #presmerovani na https RewriteCond %{HTTPS} off RewriteCond %{ENV:HTTPS} !^.*on RewriteCond %{REQUEST_URI} !raspberry RewriteRule ^(.*)$ https://example.cz/$1 [R=302,L,NE] |
||
Keeehi Profil |
PetraPP:
Ještě je dobré zkontrolovat, zda to přesměrování dělá opravdu server, nebo zda není prohlížeč "až moc chytrý" a neupgraduje spojení sám od sebe aniž by mu to server řekl. V takové případě je možné, že je vše správně. |
||
Časová prodleva: 3 roky
|
0