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. Правильно ли я понимаю текущую ситуацию и как бы ее решить, подскажите, гуру?
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ответы на вопрос 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>
Ответ написан
Ваш ответ на вопрос

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

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