X   Сообщение сайта
(Сообщение закроется через 3 секунды)


 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> 404 и ЧПУ
PPA-pavel
PPA-pavel
Topic Starter сообщение 6.8.2014, 21:10; Ответить: PPA-pavel
Сообщение #1


В общем развлекаюсь как могу пишу свою "CMS" заодно освежаю свои познания в сайтостроении.
Суть вопроса пытаюсь сделать редиректы на 404
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

ErrorDocument 404 /404/

первые 4 строки отправляют все запросы на index.php (так ли это?)
на index.php проверяется существует данный раздел сайта (документ) или же нет. Если он существует то подключается шаблонизатор. А если такого файла нет то выполняется действие:
[PHP]
header('HTTP/1.1 404 Not Found');
[/PHP]
и происходит ничего. Пустая страница. Если чуть изменить код:
[PHP]
header('HTTP/1.1 404 Not Found'); echo "ERROR 404";
[/PHP]
ну и соответственно на странице появляется надпись, а хотелось бы что бы переходило на мою страницу 404. Как это сделать, что поменять?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 6.8.2014, 22:19; Ответить: Arks
Сообщение #2


(Yah @ 7.8.2014, 00:10) *
первые 4 строки отправляют все запросы на index.php (так ли это?)


[PHP]
RewriteEngine On
Включает обработку URL модулем "mod_rewrite" apache ище сначала .htaccess в папочке со скриптом, потом идет вверх вверх вверх и т.п. - например таким образом можно отключить роутинг для поддиректории если "Off"

RewriteCond - условия при соблюении которых будет использовано правило RewriteRule следующее за перечислениями RewriteCond
RewriteCond %{REQUEST_FILENAME} !-f правило RewriteRule применится только если запрошенный ресурс(файл) не существует(или не является файлом - например он может быть симлинком и FollowSymlinks = "Off")
RewriteCond %{REQUEST_FILENAME} !-d правило RewriteRule применится только если запрошенный ресурс(директория) не существует(или не является папочкой)
RewriteRule .* index.php [L] перенаправить запрос на ресурс index.php [L] - остановить обработку ресурса на указанном правиле(все последующие RewriteRule для которых выполнились эти RewriteCond к этому ресурсу будут пропущены - в данном случае их и так нет так что можно было L не указывать)
[/PHP]

ErrorDocument 404 в вашем случае будет вызван если файла index.php не существует(apache не нашел ресурс который обработает запрос). А также если происходит ошибка 404 (заголовок). apache в Вашем случае забывает про запрос и делает вутренний роутинг на указанный адрес(новый внутренний запрос).

Собственно все ErrorDocument это говоря по-русски события(отлов ошибок) которые ловятся после обработки запроса в процессе выполнения. В данном случае ловится 404 код HTTP-ответа, он же является стандартным если не найден ресурс.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
PPA-pavel
PPA-pavel
Topic Starter сообщение 6.8.2014, 22:57; Ответить: PPA-pavel
Сообщение #3


ну а в итоге куда он попадает?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 6.8.2014, 23:11; Ответить: Arks
Сообщение #4


/404/

дальше по новой обработает запрос на этот url

А куда он совсем-совсем попадет я не знаю, зависит от индексного файла..

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Каталог открывается как ошибка 404 в hostcms
0 cheshire 2484 2.7.2018, 11:09
автор: cheshire
Открытая тема (нет новых ответов) Куплю сайт с трафиком тема метаоллообработка, металлоконструкции, станки ЧПУ и тп промышленность.
0 webcent 2021 1.4.2018, 9:21
автор: webcent
Открытая тема (нет новых ответов) Нужна помощь по настройке ЧПУ в Битриксе
0 silvanus 912 4.6.2014, 9:07
автор: silvanus
Открытая тема (нет новых ответов) ошибка 404 никак не получается исправить
1 foster-fo 2969 29.9.2012, 17:11
автор: -Arks-
Открытая тема (нет новых ответов) Настроить ЧПУ на сайте на престашоп
2 Slen 8416 14.3.2011, 11:34
автор: -LifeUP-


 



RSS Текстовая версия Сейчас: 3.3.2021, 12:32
Дизайн