Внутреннее перенаправление на другой виртуальный хост с помощью mod_rewrite (или аналогичного)

Я пытаюсь заставить site.com/api внутренне перенаправить на api.site.com. .Htaccess Site.com:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^api/(.*)$ http://api.site.com/$1 [P,QSA,L]
</IfModule>

У меня установлены mod_proxy и mod_rewrite. Что я делаю неправильно? Это вообще возможно?

РЕДАКТИРОВАТЬ: site.com и api.site.com находятся на одном сервере. Я хочу сделать редирект максимально эффективным. Если есть способ передать запрос по определенному пути непосредственно к файлу, то есть /srv/www/api.site.com/index.php через mod_rewrite, это было бы так же хорошо.

Смысл этого в том, чтобы иметь две отдельные сущности, но обходить междоменную политику javascript. Наличие делегата - это не вариант, я хочу, чтобы было прямое общение. JSONP не вариант.


person andrew    schedule 17.11.2011    source источник


Ответы (1)


Выяснили это с помощью перезаписи URL-адреса.

RewriteRule ^api/(.*)$ /library/api.php/$1 [QSA,L]

/library/api.php включает скрипт индекса непосредственно в /srv/www/api.site.com/index.php. Он должен переписать некоторые параметры в $ _SERVER, но поскольку index.php api.site.com является одноэлементным, это более чем служит моим целям.

person andrew    schedule 17.11.2011