404 Редирект не работает

В моем файле htaccess мой оператор ErrorDocument 404 не перенаправляется на index.php. Вместо этого я получаю обычную ошибку 404. Это обычная установка apache.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

person Jason Shultz    schedule 08.07.2010    source источник
comment
Бедный ты! Я очень надеюсь, что ты разберешься с этим   -  person Tom Gullen    schedule 08.07.2010
comment
Какой браузер вы используете, чтобы проверить это?   -  person Sjoerd    schedule 08.07.2010
comment
Вы знаете, включен ли у вас mod_rewrite (вы можете проверить с помощью echo phpinfo())? Кроме того, что вы подразумеваете под обычным 404. Вы имеете в виду 404 Apache или CI?   -  person Steven    schedule 08.07.2010
comment
Попробуйте с другого браузера. Некоторые браузеры не будут отображать содержимое ответа, если они получат определенные коды состояния (скажем, 404 вместо 200). Кроме того, mod_rewrite включен или нет?   -  person Dagg Nabbit    schedule 08.07.2010


Ответы (2)


Здесь нужно больше информации. Получаете 404 CodeIgniter или 404 Apache?

Если вы получаете CodeIgniter 404, он работает как положено.

person Zack    schedule 11.07.2010
comment
Вы перенаправляетесь на /index.php, но там ли находится index.php? В корне документа? Или вы работаете в подпапке? - person Zack; 17.07.2010

Я разобрался. Я использовал собственный маршрутизатор обработки ошибок в Code Igniter и пропустил файл .htaccess. У меня не было прямого доступа к клиентскому серверу, поэтому я внес изменения самостоятельно и дал им стандартный файл .htaccess для CI. Это просто сделало мою жизнь проще, если я пошел по этому пути.

person Jason Shultz    schedule 18.07.2010