| 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: 9 měsíců
|
|||
0