htaccess - перенаправление 404 из другой папки в корень - PullRequest
1 голос
/ 02 марта 2012

Я ищу способ перенаправить любую ошибку 404 в index.php

ErrorDocument 404 /index.php

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

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

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

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

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

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

для полноты, последующие 301 могут быть достигнуты с помощью полного URL:

ErrorDocument 404 http://mydomain/index.php

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

1 голос
/ 24 сентября 2017

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

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

<base href="/">

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...