Как я могу показать ошибку 404 от Apache, когда .php не существует - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть сайт WP с настройкой перенаправлений следующим образом:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
</IfModule>

, который прекрасно работает для всех URL. Но если я получаю доступ к URL-адресу, например « / file / does / not / exist.php », он показывает страницу с ошибкой WP 404. Я не хочу, чтобы этот запрос доходил до WP, он должен показывать 404 от apache.

Таким образом, " / файл / не / не существует / 100 * *" должен перейти на страницу WP 404 (она есть) , но " / файл / не существует / существует. php"должен быть 404 от Apache .

1 Ответ

1 голос
/ 04 апреля 2011

Этот тип конфликтов с !-f RewriteCond ("не файл"). Отсутствующий скрипт не является файлом, поэтому он удовлетворяет условию перезаписи. Возможно, вам придется специально проверить, содержит ли имя файла «.php», и не переписывать в wordpress. Но что, если кто-то попытается получить доступ к какому-либо другому расширению файла, которое также должно быть 404?

...