Редуцирование полного URL при преобразованиях с помошью mod_rewrite

sokol

Zavolga.Net
Редуцирование полного URL при преобразованиях с помошью mod_rewrite

Есть такое преобразование:

RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.ru$
RewriteRule ^(.+) %{HTTP_HOST}/$1 [C]
RewriteRule ^([^.]+)\.domain\.ru(.*) http://domain.ru/content/$1$2 [QSA,L]

Судя по логам данное преобразование вызывает рекурсию, из за того, что в последнем правиле, перед внутренним редиректом делается reduce полного URL

К примеру:
Для обращения http://news.domain.ru

из логов
reduce http://domain.ru/content/news/index.php -> /content/news/index.php

Затем делается внутренний редирект, но так как текущий HTTP_HOST news.domain.ru, редуцированный запрос опять идет к этому хосту... что собственно и вызвает рекурсию.

Как запретить усечение полного URL при внутреннем редиректе??? Возможно ли вобще такое?

Вариант с внешним редиректом, отрабатывает нормально

RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.ru$
RewriteRule ^(.+) %{HTTP_HOST}/$1 [C]
RewriteRule ^([^.]+)\.domain\.ru(.*) http://domain.ru/content/$1$2 [QSA,R,L]
 
Сверху