motokraft
@motokraft
Кратко о себе

Как перенаправить запрос в index.php при отсутствии файла в каталоге?

Есть вот такая ссылка https://site.ru/tmp/images/products/kamaz.360x270.jpeg
Естественно такого файла не существует, но при переходе по этой ссылке при несуществовании файла мне надо перенаправить запрос в файл index.php и там уже обработать ссылку роутером и создать нужный файл.

Проблема в том что конструкция

RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


Хотя не уверен что она должна работать но как мне кажется это более менее правильный вариант, который почему то не работает!
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Валера Карманов, то есть вы используете .htaccess для веб-сервера Apache и вас не смущает что 404 ошибку выдаёт веб-сервер nginx?

С вероятностью 100% у вас стоит nginx, а за ним apache который уже запускает php.
То есть запрос пользователя сперва приходит в nginx, и дальше уже отправляется к apache или не отправляется.
И nginx настроен так, что если это запрос статического файла, в вашем случае .jpg то он не передаётся в apache, а выдаётся 404 и поэтому .htaccess не отрабатывает.
Решение - настраивать правильно nginx.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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