ErrorDocument, похоже, не работает в моем .htaccess - PullRequest
2 голосов
/ 09 сентября 2010

Может кто-нибудь посоветовать, пожалуйста?Я бы хотел, чтобы страница по умолчанию для посетителей моего сайта представляла собой index.php, а для всех несуществующих страниц посетитель должен видеть файл errordoc.php

, поэтому я поместил его в .htaccess:

ErrorDocument 404 /errordoc.php

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mysite\.org\.uk$ [NC]
RewriteRule ^(.*)$ http://mysite.org.uk/$1 [R=301,L]

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

К сожалению, все идет к index.php, включая ошибки.Я пытался спросить моего друга в Google, но сегодня у него выходной!

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Ваше последнее правило будет перехватывать все запросы, которые не могут быть сопоставлены с существующими файлами (RewriteCond %{REQUEST_FILENAME} !-f) или существующими каталогами (RewriteCond %{REQUEST_FILENAME} !-d). Вот почему документ об ошибке не будет предоставлен.

1 голос
/ 09 сентября 2010

у вас есть 2 несовместимых раздела в этом файле.выберите один
, оставив либо только первую строку, либо только оставшуюся часть файла.Но не оба.

Нижние три строки указывают веб-серверу направлять все несуществующие страницы в index.php, а не в errordoc.php

...