Как я могу вернуть 200, когда получу 404, отредактировав файл.htaccess?
У меня есть файл.htaccess и файл index.html в корневом каталоге домена. У меня есть коды ниже в этом файле.htaccess:
DirectorySlash Off
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])?$ /index.html [L]
Я надеюсь, что пользователи увидят содержимое в index.html, когда получат доступ к URL-адресу каталога, независимо от того, имеет ли этот URL-адрес косую черту или нет. Итак, у меня есть код выше.
Но у меня есть проблема. Когда я получаю доступ к каталогу, который не существует. Я получаю 404. Это не то, что я хочу. Я надеюсь, что пользователи всегда будут получать 200 и видеть содержимое в index.html при доступе к URL-адресу каталога. Как я могу решить эту проблему, отредактировав коды выше в файле.htaccess?
КСТАТИ. Пожалуйста, не перенаправляйте пользователей в файл index.html.
Спасибо!
1 ответ
Создайте пользовательскую страницу 404 и назовите ее, например, "404page.php". Убедитесь, что эта страница отправляет статус 200, прежде чем отправлять любой другой контент в браузер, поместив это вверху:
<?php
header("Status: 200 OK");
?>
Затем введите ErrorDocument 404 /404page.php
в вашем htaccess.