Nejste přihlášeni
Stránky 1
Zdravím. Poté, co jsem předělal stránky (přesun WordPressu do podadresáře a přídavek hlavní stránky plus FTP stránky) a uvedl soubory .htaccess, které fungují u mě na localhostu, tak celý web přestal fungovat. Nejdříve jsem si myslel, že je to kvůli absolutním adresám. Ale nejspíše jsem se zmýlil. Níže jsou .htaccess jednotlivých přidaných částí...
Hlavní stránka (kořen webu):
# No directory listing, no multi views
Options -Indexes -MultiViews +FollowSymLinks
# Redirects and rewrites allowed
RewriteEngine on
# Redirect direct requests for "index.php?lang=xyz" to "/xyz/"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^lang=([a-z]{2,3})$
RewriteRule ^(index\.php)?$ %1/? [R=301,L]
# Redirect direct requests for "contact.php?lang=xyz" to "/xyz/contact/"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^lang=([a-z]{2,3})$
RewriteRule ^contact\.php$ %1/contact/? [R=301,L]
# Redirect direct request for "contact.php" to "/contact/"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^contact\.php$ contact/? [R=301,L]
# Internally rewrite "/xyz/contact/" to "/contact.php?lang=xyz"
RewriteRule ^([a-z]{2,3})/contact/?$ contact.php?lang=$1 [L]
# Redirect "blog" or "ftp/<anything>" to subdomain
#RewriteRule ^(blog|ftp)(/(.*))?$ https://$1.czghost.cz/$3 [R=301,L]
# Internally rewrite "/xyz/" to "/index.php?lang=xyz"
RewriteRule ^([a-z]{2,3})/?$ index.php?lang=$1 [L]
# Internally rewrite "/contact/" to "/contact.php"
RewriteRule ^contact/?$ contact.php [L]
FTP stránka (adresář /ftp):
# No directory listing, no multi views
Options -Indexes -MultiViews +FollowSymLinks
# Redirects and rewrites allowed
RewriteEngine on
# Redirect direct requests for "index.php?lang=xyz" to "/xyz/"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^lang=([a-z]{2,3})$
RewriteRule ^(index\.php)?$ %1/? [R=301,L]
# Internally rewrite "/xyz/" to "/index.php?lang=xyz"
RewriteRule ^([a-z]{2,3})/?$ index.php?lang=$1 [L]
Jak znovu zprovozním stránky? Nejspíše jsem něco udělal špatně, ale nevím, co.
Upravil marpolda (2018-04-09 17:01:19)
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Offline
Dobrý den, díky.
Výstup prohlížeče se změnil, nyní se zobrazuje interní stránka prohlížeče s chybou 500, stránka tak stále nefunguje, a to ani v kořeni. -MultiViews jsem odstranil.
Vrátil jsem zpátky absolutní adresaci a poté zase relativní.
Upravil marpolda (2018-04-07 22:16:56)
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Teď dle error logu který máte dostupný na FTP v složce .tmp končí stránka chybou: PHP Fatal error: require(): Failed opening required './include/translations.index.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/users/marpolda/c*****t.4fan.cz/web/index.php on line 3
Offline
Výborně, už to funguje Ale nevím, proč to ukazuje stránku implicitně v angličtině, když se má ukázat na základě geolokalizace IP adresy (tedy z českých a slovenských IP adres se m web ukázat prvně česky, z ostatních zemí prvně anglicky). Leda že by se IP adresa schovávala za proxy. Ještě nefunguje přesměrování z adresy *.php?lang=xyz na „nice url“ variantu, které mi funguje na localhostu. Dá se to nějak vyřešit, nebo je to zde nemožné?
EDIT: Tak jsem chybu v té geolokalizaci objevil. Použil jsem API, která tu geolikalizaci neumí Tak teď už zbývá jen vyřešit to přesměrování té query adresy na tu hezkou
Upravil marpolda (2018-04-08 12:38:38)
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Na hezké adresy doporučuji nevyužívat přesměrování z tých nehezkých ale rovno na ně odkazovat ve vašich skriptech.
Dívám se na odkaz z kterého čerpáte informace o IP a nevidím v něm žádnou identifikaci umístění. Je tedy možné že z tohoto důvodu dochází k nezhode.
Zkuste naše GEOIP z proměnné $_SERVER["GEOIP_COUNTRY_CODE"]
Offline
Na hezké adresy doporučuji nevyužívat přesměrování z tých nehezkých ale rovno na ně odkazovat ve vašich skriptech.
No já odkazuju na ty hezké, ale jde o to, že když někdo zadá tu query, aby ho to hodilo na tu hezkou. Chci to sjednotit (pokud to půjde). Ono to totiž i s relativním adresováním odkazuje přes kořen FTP složky a cpe to do adresy webu, takže to nefunguje. Nevím vůbec, proč to dělá.
Dívám se na odkaz z kterého čerpáte informace o IP a nevidím v něm žádnou identifikaci umístění. Je tedy možné že z tohoto důvodu dochází k nezhode.
Už jsem to opravil. ARIN přímo píše, že neumí GeoIP, že nemají informace o geolokalizaci IP adres, zapomněl jsem to ale opravit. Teď už to funguje.
Zkuste naše GEOIP z proměnné $_SERVER["GEOIP_COUNTRY_CODE"]
To je sice hezké, že máte serverovou proměnnou s geolokalizací, ale ta zase nefunguje u mě na localhostu. Vím, že se to dá doinstalovat a nastavit, ale já to neumím, proto používám webovou API. Je tu riziko, že se změní funkčnost nebo přestane API fungovat úplně, ale pro ulehčení práce jsem ochoten to riziko podstoupit.
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Stránky 1