Задать вопрос
VeleX
@VeleX
Web - наше всё!

Как сделать редирект любого уровня вложенности на корень сайта?

Доброго времени!

Уже пальцы в кровь изгуглил, но кокретно по моей теме не нашел ответа.

Есть файл .htaccess следующего содержимого:
<IfModule mod_rewrite.c>
    Options +FollowSymlinks -Indexes
    RewriteEngine On
    RewriteBase /
	RewriteCond %{REQUEST_URL} ^/.*
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)$ index.php?$1 [L,QSA]
</IfModule>


В коде разбираю содержимое $_SERVER['REQUEST_URI']. При обращении к корню, соответственно массив пуст. Все отрабатывает. Если же обращаюсь к конкретному контроллеру строкой вида

site.ru/controller/action

то apache ищет папку с названием controller и соответственно выдает 404.
То есть на index.php который в корне сайта запрос не редиректится, а ищется папка с конкретным именем и только в ней запросы идут на index.php. Правильно ли я понимаю текущую ситуацию и как бы ее решить, подскажите, гуру?
  • Вопрос задан
  • 397 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
gromdron
@gromdron
Работаю с Bitrix24
Как насчет следующего кода:
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?$1 [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
Ответ написан
Ваш ответ на вопрос

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

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