В документации mod_rewrite:
http://httpd.apache.org/docs/current/rewrite/remapping.html#canonicalhost
Если вам надоел mod_rewrite, это может быть просто вещь. (Вы хотите перенаправить эти веб-сайты на новый URL-адрес или сделать это незаметно?)
Я не могу воспроизвести проблему, с которой вы столкнулись. В моей настройке довольно много записей VirtualHost и записей Справочника, при этом происходит довольно много переписывания.
Я добавил правило, очень похожее на ваше, в свой основной VirtualHost. Теперь вы должны знать, что это ничего не будет соответствовать, потому что запрос корня документа /
не пустая строка.
RewriteRule ^$ /foo/bar
Я не получил петлю перенаправления при доступе к сайту; это было просто проигнорировано. Затем я изменил его на:
RewriteRule ^/$ /foo/bar
Перезапустил сервер, зашел на него и получил старый Запрошенный URL / var / www / foo / bar не найден на этом сервере. Без цикла.
В вашей настройке есть что-то еще. Возможно, URL, по которому вы переписываете, имеет локальный .htaccess
, который запускает цикл. (Но то, как они переписываются с помощью совпадения для ^$
, бьет меня.)