Я хотел бы перенаправить каждый запрос в root с помощью RewriteRules в моем файле .htaccess (позже я скопирую их в файл vhost). Я попробовал что-то вроде этого:

RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]

Это работает, но, очевидно, это создает бесконечный цикл. Я думаю, что мне нужен RewriteCond, который исключает корень. Поэтому я попробовал что-то вроде:

RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]

Но, к сожалению, это не похоже на работу. Я искал что-то в течение некоторого времени, но я сталкиваюсь только с RewriteRules, которые удаляют или добавляют косую черту с каждым URL (что мне не нужно). Помощь будет принята с благодарностью.

Я использую Apache2 + mod_rewrite на машине с Linux.

1 ответ1

0

Наверное, это скорее вопрос к ошибке сервера. Корень просто /. Таким образом, вы должны указать, что он начинается с /, ^/ , а также что он заканчивается сразу после, поэтому вам нужно добавить $, ведущий к следующей строке.

RewriteCond %{REQUEST_URI} !^/$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .