2012-03-02 6 views
1

Я искал способ перенаправить ошибку 404 в index.phpHtaccess - 404 перенаправления из другой папки в корень

ErrorDocument 404 /index.php

работает отлично до тех пор, пока у вас есть 404 внутри другой папки /about/non-existing-page.php - в этом случае будет отображаться index.php, но на странице будут отсутствовать стили (поскольку стили находятся в корневой папке).

В любом случае, я могу на самом деле пользователь 301 перенаправить для ЛЮБОЙ (где угодно) 404 ошибка?

ответ

2

Как вы уже сказали, это не ошибка страницы перенаправления: это ваш браузер, который считает, что находится в папке /about. Вы ничего не можете сделать в .htaccess, чтобы изменить это: 301 перенаправление изменит код состояния, что не очень хорошо.

Самым простым решением было бы использовать абсолютные ссылки в документе:

<img src="/images/image.jpg"> 

для полноты, последующий 301 может быть достигнуто при использовании полного URL:

ErrorDocument 404 http://mydomain/index.php 

, но, как сказал , это, вероятно, не очень хорошая идея.

+0

Не совсем идеальное решение. Но он выполняет свою работу. Огромное спасибо! – Iladarsda

0

Вам не нужно использовать абсолютные ссылки в документе 404.

Если файл находится в корневом каталоге, добавьте

<base href="/"> 

в головной части вашего документа 404, и это будет правильно отображаться, даже если ссылаться на 404 внутри вложенной.

Смежные вопросы