Autor Zpráva
worldd
Profil *
Dobrý den, potřeboval bych poradit se správným zobrazením chyby 404 (i dalších) pro více virtualhostů.
Potřebuju např. pro tyto 2 virtualhosty zobrazit stejný chybový soubor 404, který je umístěn v /var/www/web/404.php

<VirtualHost ***.***.**.***:80>
ServerName example.net
ServerAlias www.example.net
ServerAdmin info@example.net
DocumentRoot /var/www/www.example.net/

<Directory /var/www/www.example.net/>
Options FollowSymLinks
AllowOverride All
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.net$ [NC]
RewriteRule ^(.*)$ http://www.^example.net/$1 [L,R=301]

# chybové stránky
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
</Directory>

ErrorLog /var/log/apache2/error_www.example.net.log
CustomLog /var/log/apache2/access_www.example.net.log combined
</VirtualHost>

<VirtualHost ***.***.**.***:80>
ServerName something.example.net
ServerAlias something.example.net
ServerAdmin info@example.net
DocumentRoot /var/www/www.example.net/main/something/

<Directory /var/www/www.example.net/main/something/>
Options FollowSymLinks
AllowOverride All

# chybové stránky
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
</Directory>

ErrorLog /var/log/apache2/error_something.example.net.log
CustomLog /var/log/apache2/access_something.example.net.log combined
</VirtualHost>

Pokud např. místo ErrorDocument 404 /404.php zadám ErrorDocument 404 /var/www/web/404.php tak se chybová stránka prostě nezobrazí
Davex
Profil
V definici ErrorDocument se může odkazovat pouze v rámci příslušného DocumentRoot. Zkus definici ErrorDocument přemístit do samostatné sekce před všechny VirtualHost a pro adresář s chybovou stránkou definuj globální Alias:

Alias /error/ "/var/www/web/"

<Directory "/var/www/web/">
  Options None
  Order Allow,Deny
  Allow from all
</Directory>

ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
worldd
Profil *
Davex
Díky moc, už to funguje bez problémů ;)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0