| 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: 7 let
|
|||
0