Страница ошибки 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 или переместите файл в корень вашего сервера.

Другие вопросы по тегам