2014-09-15 3 views
0

В корневом файле .htaccess моего сайта, я код, показанный здесь, чтобы перенаправить к версии www, а также скрыть index.php страницу, если в корневой директории:.htaccess переписать/переадресовать каталог на субдомен

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC] 
RewriteRule ^index\.php$ http://www.example.com/ [R=301,NC,L] 

в этом месте, у меня есть API, расположенный в http://www.example.com/app/API/

Я хотел бы сделать две вещи:

  1. Выполните все вызовы API с помощью субдомена http://api.example.com/ (но на самом деле обрабатывать их в оригинальном URL, http://www.example.com/app/API/)

  2. Перенаправление весь трафик от http://www.example.com/app/API/ до http://api.example.com/, сохраняя все параметры запроса в такт.

То, что я прошу, кажется довольно простым, но по какой-либо причине я не могу понять это (даже после интенсивного поиска). Я могу настроить субдомен через моего хостинг-провайдера, но я бы предпочел использовать .htaccess для дальнейшей настройки.

+0

обе '' www.example.com' и api.example.com' указывая на тот же корень документа? –

+0

В настоящее время не существует '.htaccess', воздействующего на поддомен. Отвечает ли это на ваш вопрос? @JonLin – adamdehaven

+0

Кроме того, я не хочу, чтобы ВСЕ звонки в домен отправлялись в субдомен. Только вызовы в каталог 'app/API /'. Основной веб-сайт по-прежнему существует на главном корневом сайте example.com – adamdehaven

ответ

0

Try:

RewriteCond %{HTTP_HOST} !^api\. [NC] 
RewriteRule ^app/API/(.*)$ http://api.example.com/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^api\.example\.com$ [NC] 
RewriteRule ^(.*)$ /app/API/$1 [L] 
+0

Не повезло. Не работает. – adamdehaven

Смежные вопросы