Задать вопрос
@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 - - - - - - - - - // нет точки перед - ?
  • Вопрос задан
  • 592 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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 при перенаправлении, он сохраняется или нет? Извиняюсь за встречный вопрос..)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽