Задать вопрос
MrBlack
@MrBlack

Почему сервер отдает 404ю ошибку, но при этом показывает запрашиваемую страницу?

Добрый день.
Есть сайт в разработке, ЧПУ настроено через mod_rewrite.

htaccess следующий:
RewriteEngine On
## add slash
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

## main rule
RewriteRule ^_dev/([^/]*)\/$ /_dev/index.php?route=$1 [L]

# blog child 
RewriteRule ^_dev/blog/([^/]*)\/$ /_dev/index.php?route=blogpost&showpost=$1 [L]

# services child 
RewriteRule ^_dev/services/([^/]*)\/$ /_dev/index.php?route=servicecat&filter=$1 [QSA,L]
RewriteRule ^_dev/services/([^/]*)/([^/]*)\/$ /_dev/index.php?route=servicepost&cat=$1&showpost=$2 [L]


На первый взгляд, сайт и ЧПУ работают хорошо (нужная страница отдается браузеру), но если посмотреть в консоль, то на каждый запрос приходит 404й ответ сервера.

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) mysite.ru/_dev/services
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) mysite.ru/_dev/services/honeymoon

Предполагаю что некорректно расставлены флаги, но если в правилах указываю R=301, то при запросе mysite.ru/_dev/services на выходе в URL получаю mysite.ru/_dev/?route=services

Подскажите в чем моя ошибка.
  • Вопрос задан
  • 17508 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ShamblerR
давай сам сайт.
Как правило это ошибка в коде.
Отключай по кускам все на главной странице, смотри когда 404 пропадет.
А вот если она уже не пропадет на чистой html странице то тут уже действительно проблемы.
Можешь как вариант положить index.html и отключить index.php
если при всех равных она отдаст 200 значит действительно проблема в коде.
ps. видил такое пару раз
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы