#1 2018-04-07 22:05:40

marpolda
Endora uživatel
Registrován: 2015-05-04
Příspěvky: 32

[SOLVED] 500: Internal Server Error

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

#2 2018-04-07 22:07:32

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,180
Web

Re: [SOLVED] 500: Internal Server Error

Dobrý den, problém je v zápisu -MultiViews ktorý chybu způsobuje. Postačuje ho ze souboru .htaccess odstranit.


Ján Fačkovec - Helpdesk Endora.cz
- Email: jan.fackovec(zavináč)endora.cz
- Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#3 2018-04-07 22:13:29

marpolda
Endora uživatel
Registrován: 2015-05-04
Příspěvky: 32

Re: [SOLVED] 500: Internal Server Error

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

#4 2018-04-07 22:59:44

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,180
Web

Re: [SOLVED] 500: Internal Server Error

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


Ján Fačkovec - Helpdesk Endora.cz
- Email: jan.fackovec(zavináč)endora.cz
- Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#5 2018-04-08 10:36:37

marpolda
Endora uživatel
Registrován: 2015-05-04
Příspěvky: 32

Re: [SOLVED] 500: Internal Server Error

Výborně, už to funguje smile 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í big_smile Tak teď už zbývá jen vyřešit to přesměrování té query adresy na tu hezkou smile

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

#6 2018-04-08 12:37:47

JF
Endora rádce
Místo: Plzeň
Registrován: 2010-06-22
Příspěvky: 10,180
Web

Re: [SOLVED] 500: Internal Server Error

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


Ján Fačkovec - Helpdesk Endora.cz
- Email: jan.fackovec(zavináč)endora.cz
- Web: www.endora.cz
Zlepšite si stránku českým validátorom!

Offline

#7 2018-04-08 12:46:14

marpolda
Endora uživatel
Registrován: 2015-05-04
Příspěvky: 32

Re: [SOLVED] 500: Internal Server Error

JF napsal:

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á.

JF napsal:

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.

JF napsal:

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

Zápatí

Založeno na FluxBB | CZ a SK