Страница ошибки 404 не отображается
У меня проблема с моим поддоменом. Когда я пытаюсь ввести ошибочную страницу в URL-адрес, он перенаправляет меня в файл index.php в каталоге. Он пуст, поэтому сервер не может сказать мне: «Страница не найдена», потому что он находит страницу index.php (пустая страница). Я добавил в index.php, чтобы перенаправить меня на страницу 404, но я не думаю, что это правильное решение.
https://docs.example.com/faultypage. -> перенаправить на https://docs.example.com/404page.html Файл .htaccess в моем каталоге документов содержит эти данные
# GZIP compression for text files: HTML, CSS, JS, Text, XML, fonts
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
</IfModule>
И это мой файл docs.conf
<VirtualHost *:80>
ServerAdmin office+web@example.com
ServerName docs.example.com
ServerAlias docs.example.com
DocumentRoot /var/www/brand/Documentation/new
RewriteEngine on
RewriteCond %{SERVER_NAME} =docs.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
2 ответа
Добавьте это в каталог вашей ошибочной страницы .htaccess.
RewriteEngine On
RewriteRule ^index\.php$ /404.html [R=301,L]
Примечание. — Выполните следующую команду, если модуль перезаписи не включен.
a2enmod rewrite
Вполне вероятно, что ваша страница 404.html сама генерирует еще одну ошибку 404, поскольку ее местоположение не /404.html, а /myweb/404.html. По сути, он пытается найти файл 404.html, но не может, что генерирует еще один 404, затем пытается найти файл 404.html, но не может, что генерирует еще один 404 и т. д. и т. п. Измените свой .htaccess, чтобы указать 404 в /myweb/404.html или переместите файл в корень вашего сервера.