.htaccess v hlavním adresáři a v podadresáři

Vyřešeno1.44K zhlédnutíWebhostinghtaccess
0

Dobrý den,

chtěl jsem použít v některých podadresářích soubor .htaccess, který by selektoval přístup dle zemí, ale výsledkem je, že takové podadresáře vykazují Chybu 500 – Internal Server Error i v případě přístupu z ČR. Podadresáře bez doplňujícího .htaccess fungují v pořádku. Web nepracuje na žádném redakčním systému. Co změnit pro požadovanou funkčnost?

.htaccess v podadresáři:

# pristupy pouze z cz sk at de pl
GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE CZ AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE SK AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE PL AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry
Deny from all
Allow from env=AllowCountry

.htaccess v hlavním adresáři:

# htaccess pravidla pro subdomeny a samostatne weby aliasu
# pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny)
# pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev)
# dalsi info a priklady: https://kb.wedos.com/cs/webhosting/htaccess/htaccess-na-webhostingu

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy „upgrade-insecure-requests;“

# snubak.cz -> www.snubak.cz
RewriteCond %{HTTP_HOST} ^snubak\.cz$
RewriteRule (.*) https://www.snubak.cz/$1 [R=301,L]

# 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]

Options -Indexes

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
MB313456 Vybral nejlepší odpověď
0
148.62K Odpověď od WEDOS Internet, a.s. 0 Komentář

Dobrý den,

žádný alternativní postup s využitím .htaccess se mi najít nepodařilo. Na úrovni domény umí GeoIP nastavit WEDOS Global, ale individuální podadresáře (aspoň zatím) nastavit nedokáže.

Zadal jsem otázku povolení SetEnvIf k diskusi vývojovému oddělení, pokud se k tomu do 14 dní někdo vyjádří, dám Vám vědět.

Role: Podpora Web: https://kb.vedos.cz Vizitka: VEDOS Specialista na Znalostní bázi
MB313456 Vybral nejlepší odpověď
0
148.62K Odpověď od WEDOS Internet, a.s. 0 Komentář

Dobrý den,

ujistěte se, že v souboru .htaccess nepoužíváte zakázané příkazy.

Role: Podpora Web: https://kb.vedos.cz Vizitka: VEDOS Specialista na Znalostní bázi
MB313456 Odpověděl na otázku
0

Vyhněte se používání příkazů:

  • php_flag
  • php_value
  • ServerSignature
  • SetEnv
  • SetHandler
  • XBitHack
  • AddHandler
  • Options*
    * U příkazu Options smíte používat pouze volbu Indexes, ostatní jsou zakázány.

Pokud vycházím z uvedeného, tak zakázané příkazy nepoužívám. Nefunguje to, ani když odstraním příkaz Options -Indexes
Máte jiný návrh?

Role: Zákazník
MB313456 Změnil status na publikováno
0
148.62K Odpověď od WEDOS Internet, a.s. 0 Komentář

Zkuste odstavit ty SetEnvIf.

Role: Podpora Web: https://kb.vedos.cz Vizitka: VEDOS Specialista na Znalostní bázi
MB313456 Odpověděl na otázku
0

Jak pak zamezím vstupu do adresářů z jiných zemí?

Role: Zákazník
MB313456 Změnil status na publikováno
0
148.62K Odpověď od WEDOS Internet, a.s. 0 Komentář

Nejdřív otestujte, jestli odstavení kódů s SetEnvIf odstraní Chybu 500. Pokud ano, budete bohužel muset najít jiné řešení.

Role: Podpora Web: https://kb.vedos.cz Vizitka: VEDOS Specialista na Znalostní bázi
MB313456 Odpověděl na otázku
0

Ano, odstraní, to ani nemusím zkoušet, to píšu už v dotazu nahoře. Je jiný způsob, jak povolit vstup na web, případně použití POST, jen z určitých zemí?

Role: Zákazník
TJ285257 Změnil status na publikováno