Наверное, это скорее вопрос к ошибке сервера. Корень просто /. Таким образом, вы должны указать, что он начинается с /, ^/
а также что он заканчивается сразу после, поэтому вы должны добавить $, ведущий к следующей строке.
RewriteCond % !^/$
Я хотел бы перенаправить каждый запрос в root с помощью RewriteRules в моем файле .htaccess (позже я скопирую их в файл vhost). Я попробовал что-то вроде этого:
RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]
Это работает, но, очевидно, это создает бесконечный цикл. Я думаю, что мне нужен RewriteCond, который исключает корень. Поэтому я попробовал что-то вроде:
RewriteCond % !^/ RewriteRule ^(.*)$ http://test.example.com/ [R=301,L]
Но, к сожалению, это не похоже на работу. Я искал вокруг некоторое время, но я сталкиваюсь только с RewriteRules, которые удаляют или добавляют косую черту с каждым URL (что мне не нужно). Помощь будет принята с благодарностью.
Я использую Apache2 + mod_rewrite на машине с Linux.
Наверное, это скорее вопрос к ошибке сервера. Корень просто /. Таким образом, вы должны указать, что он начинается с /, ^/
а также что он заканчивается сразу после, поэтому вы должны добавить $, ведущий к следующей строке.
RewriteCond % !^/$