Autor | Zpráva | ||
---|---|---|---|
Giga Profil |
Pánové, prosím o radu.
Mám na stránce .htaccess RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L] Header set Content-Security-Policy "upgrade-insecure-requests;" # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R] <IfModule mod_expires.c> ExpiresActive Off </IfModule> Potřeboval bych vytvořit výjimku. Pro jeden skript potřebuji nezabezpečený přistup. Vytvořil jsem subdoménu kde je skript umístněn. Nevím, jak v .htaccess vytvořit pravidlo které zabezpečí, že adresa jednoho konkrétního skriptu (případně subdomény) s http nebude přesměrována na https. |
||
Kajman Profil |
Před třetí řádek si můžete dát nějaká pravidla, která při shodě přeskočí X následujích pravidel (tedy potřebujete přeskočit jedno následující pravidlo pro https).
Něco jako RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?nezabezpecena\.domena\.cz$ RewriteRule ^(/?subdom/nezabezpecena\.domena\.cz/)?nazev\.skriptu$ - [S=1] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L,NE] A u toho přesměrování to funguje pro všechny domény a subdomény korektně? Nemá tam být místo názvu serveru název domény? A protože používáte 301, prohlížeč si to může pamatovat, tak bude složitější ověřit, jestli se to změnilo. Pro testy si tam dejte 302 a asi použijte jiný prohlížeč. |
||
Giga Profil |
#3 · Zasláno: 26. 3. 2025, 14:24:43
Děkuji za reakci.
Upravil jsem .htaccess na RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?domena\.cz$ RewriteRule ^(/?pocko/domena\.cz/)?myweather/updateweatherstation.php$ - [S=1] RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L] Header set Content-Security-Policy "upgrade-insecure-requests;" # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R] <IfModule mod_expires.c> ExpiresActive Off </IfModule> bez kýženého výsledku. Počítám, že mám zmatek v lomítkách a opačných lomítkách. Konkrétní skript má adresu: http://pocko.domena.cz/myweather/updateweatherstation.php?parametry
|
||
Kajman Profil |
Zmatek máte v doménách. To pocko má být místo nezabezpecena. Ale bez konkrétní domény lépe poradit nelze. Musíte si to napsat sám podle příkladu. Také je důležité, jestli to pak máte zanořené v subdom nebo domains - to možné zanoření skriptu v některém z těchto adresářů při druhém průchodu jste odstranil úplně.
A jednoduchá výjimka pro celou doménu funguje? |
||
Giga Profil |
#5 · Zasláno: 26. 3. 2025, 21:21:54
Kajmane, máš štěstí, že nesedíš vedle mne.
Pusu bych Ti dal! :D Klaním se a mnohokrát děkuji za a.) trpělivost b.) přehled o proběhlé diskusi "Vyjímka pro celou doménu" je funkční řešení. |
||
Kajman Profil |
#6 · Zasláno: 27. 3. 2025, 13:27:23
V takovém případě je špatně podmínka na ten jeden konkrétní soubor, pokud to bez omezení na cestu funguje pro všechny požadavky.
|
||
Časová prodleva: 7 měsíců
|
0