Недавно я загрузил тему PHP на свой сервер. Он отлично работает с любыми другими разделами, кроме моей домашней страницы. Например, при доступе к www.mywebsite.com/anything
тема работает, но когда на главной странице www.mywebsite.com
отображается страница сервера по умолчанию.
Я играл с htacess RewriteEngine, и в некоторых случаях он работал, но, вероятно, неправильно. Вот что у меня есть на данный момент:
<IfModule mod_rewrite.c>
RewriteEngine on
Options -Multiviews
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^(.*)?$ index.php?a=$1 [QSA,NC,L]
ErrorDocument 404 /new/404.php
</IfModule>
Это заставляет мою домашнюю страницу работать, но заголовок не показывает, что в заголовке указано «Страница не найдена». Страница работает, и все, что я меняю, это два RewriteCond выше. Они были настроены {REQUEST_FILENAME}
но из-за этого домашняя страница моего сайта не работала и показывала страницу сервера по умолчанию.
В вашем вопросе неясно, удаляются ли правильные файлы PHP. Предполагая синтаксис вашего .htaccess
правильно:
Ваш RewriteRule
указывает ваш index.php
в качестве получателя для любых файлов и каталогов, которые не существуют, причем путь (я полагаю) отправляется на $_GET['a']
... это ваше дело index.php
чтобы обнаружить и обработать это соответствующим образом.
ErrorDocument
это отдельный механизм и еще раз, если 404.php
попадает в его дело, например, header('HTTP/1.1 404 File Not Found')
а затем выведите HTML-код, который указывает, что страница не найдена.