Portál AbcLinuxu, 17. července 2025 18:29


Dotaz: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?

12.8.2006 16:50 DennyNet | skóre: 7 | Praha
Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
Přečteno: 696×
Odpovědět | Admin
Zdravim,

mam nasledujici problem, v konfigu apache 2.0 jsem nastavil chybu na:

ErrorDocument 403 /usr/403/index.html

Kdyz tuhle sintaxi pouziju, tak mi to hlasi chybu:

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Cili jak mam docilit toho, aby se mi na strance 403 a 404 obevila jina "defaultni" stranka?

Diky Dan

ps: disto Debian sarge
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.8.2006 17:40 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Lze to udělat třeba takto:

Do konfiguračního souboru uvést něco jako tohle:
ErrorDocument 400 /x/error.php
ErrorDocument 401 /x/error.php
ErrorDocument 402 /x/error.php
ErrorDocument 403 /x/error.php
ErrorDocument 404 /x/error.php
ErrorDocument 405 /x/error.php
ErrorDocument 406 /x/error.php
ErrorDocument 407 /x/error.php
ErrorDocument 408 /x/error.php   
ErrorDocument 409 /x/error.php   
ErrorDocument 410 /x/error.php   
ErrorDocument 411 /x/error.php   
ErrorDocument 412 /x/error.php   
ErrorDocument 413 /x/error.php   
ErrorDocument 414 /x/error.php   
ErrorDocument 415 /x/error.php   
ErrorDocument 500 /x/error.php   
ErrorDocument 501 /x/error.php   
ErrorDocument 502 /x/error.php
ErrorDocument 503 /x/error.php
ErrorDocument 504 /x/error.php
ErrorDocument 505 /x/error.php
ErrorDocument 506 /x/error.php
Potom v adresáři, kde se nachází kořen WWW serveru (třeba /var/www/htdocs, lze vytvořit soubor x/error.php a do něj vložit následující kód:
"Bad Request",
    401=>"Unauthorized",
    402=>"Payment Required",
    403=>"Forbidden",
    404=>"Not Found",
    405=>"Method Not Allowed",
    406=>"Not Acceptable",
    407=>"Proxy Authentication Required",
    408=>"Request Time-Out",
    409=>"Conflict",
    410=>"Gone",
    411=>"Length Required",
    412=>"Precondition Failed",
    413=>"Request Entity Too Large",
    414=>"Request-URL Too Large",
    415=>"Unsupported Media Type",
    500=>"Server Error",
    501=>"Not Implemented",
    502=>"Bad Gateway",
    503=>"Out of Resources",
    504=>"Gateway Time-Out",
    505=>"HTTP Version not supported"
  );
  
  if (IsSet($_SERVER["REDIRECT_STATUS"])) {
    printf("<h1>%d: %s</h1>", $_SERVER["REDIRECT_STATUS"],
      $http_codes_en[$_SERVER["REDIRECT_STATUS"]]);
    printf("Given URL: %s<br />", $_SERVER["REQUEST_URI"]);
  }
?>
Samozřejmě není třeba řešit tuto věc v PHP ani jinak dynamicky, jen je třeba se vždy odkazovat relativní adresou v rámci WWW podstromu (/usr/403/index.html asi nebude dobrá cesta), nebo plnou adresou (http://něco), připadně lze místo adresy uvést řetězec, který prohlížeč klientovi pošle, např.
ErrorDocument 404 "Soubor nenalezen."
12.8.2006 17:58 DennyNet | skóre: 7 | Praha
Rozbalit Rozbalit vše Re: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
diky :)

tu cestu /usr/403/index.html

jsem uvadel jako priklad :)
13.8.2006 07:16 DennyNet | skóre: 7 | Praha
Rozbalit Rozbalit vše Re: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
a je nutne, aby v pripade ze nekdo poukaze na neexistujici php stranku tak kam se potom smeruje "odkaz" na 404?

mam namysli, jestli pro Error404 bych musel vytvorit i php stranku nebo staci staticka xhtml stranka?

to s tim ErrorDocument 404 http://neco.tld/x/error.php

je sice hezke, ale prave tohle pouzit nechci, dojde totiz k presmerovani z jine domeny.tld na hlavni.tld

mym cilem je, zobrazit na jakekoliv.tld co je na severu jednotnou stranku pro Error 404, 403 apod.
13.8.2006 14:05 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
Myslím, že ty aliasy se dají udělat pro všechny virtuální servery naráz, ty errordocumenty můžou být klidně statické stránky (takže klidně jednotně /error/404.html).
13.8.2006 07:23 DennyNet | skóre: 7 | Praha
Rozbalit Rozbalit vše Re: Jak u Apache 2.0 nastavit jinou stranku pro 403 a 404?
už vím :) proč mi to tam psalo tu chybu :)

protože jsem neměl definovanou cestu k aliasu /error/ ;)

diky moc za rady! :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.