@kofon
Я человек

RewriteRule. Как перенаправить все запросы за исключением ресурсов?

Все запросы типа example.com/cars/bmw/x6 должны перенаправляться в спец. файл, пусть это будет index.php .
НО, все запросы на ресурсы, css, js, img (всех форматов) должны "браться" напрямую.

Можно ли это сделать именно в .htaccess не перечисляя все форматы.

Примерное правило. Если в URL есть точка до вопросительного знака (?), то напрямую, иначе пусть перенаправляет.

Напрямую:
*/index.php?get_json=1&data=blabla
*/style.css, */script.js - - - - - - - - - // стоит точка до - ?, если сам знак отсутствует, то считаем что он последний

Перенаправление:
*/people/1 - - - - - - - - - // нет точки перед - ?
  • Вопрос задан
  • 583 просмотра
Решения вопроса 1
@gracer
Стандартный код для таких вещей
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@kofon Автор вопроса
Я человек
Ответ получен! Cпасибо gracer

Пока не отметил решением, прочитайте, что я ему написал, вопрос про [L] и %{REQUEST_FILENAME} (!-f, !-d)
Ответ написан
Комментировать
@KuzmenkoArtem
А что происходит с массивом $_POST при перенаправлении, он сохраняется или нет? Извиняюсь за встречный вопрос..)
Ответ написан
Ваш ответ на вопрос

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

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