2008-12-14 39 views
8

Używam codeigniter jako mojej głównej instalacji w domenie głównej. Stworzyłem subdomenę i folder o nazwie na żywo, np. live.domain.com mapy do publicznego/na żywo. Jednak w miejscach publicznych używam codeigniter.. Htaccess Reguły przepisywania subdomeny

Mam teraz dynamiczną CodeIgniter URL:

http://domain.com/api/

który chcę mapować do mojego subdomeny:

https://live.domain.com

Więc Going to:

https://live.domain.com/api/functioname

byłaby pomocą skrypt:

http://domain.com/api/apifunctioname

i ewentualnie:

http://domain.com/api/apifunctioname/parameter1/parameter

Wszystko jest na tym samym serwerze, więc nie są potrzebne żadne przekierowania.

Ktoś ma jakieś pomysły na temat jakich reguł przepisywania użyć?

Options +FollowSymLinks 

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^live\.domain\.com [NC] 
RewriteRule (.+)$ "http://domain.com/api/$1" [L] 

Powyższe działa świetnie jako przepisanie ale przekierowuje do http://domain.com/api/functionname zamiast Chcę go do trasy; tak, że gdy będziemy:

https://live.domain.com/api/functioname

Pozostaje przy tym url ale wykorzystuje skrypt

http://domain.com/api/functionname

Dziękuję bardzo,

Ice

Odpowiedz

10

Jak o czymś takim następujące :

+0

Dziękuję jednak próbowałem tego, ale właśnie dostałem 404 Not Found - bardzo specyficzny –

+0

powinienem wspomnieć, że prawdopodobnie jest to przetestowane. Czy próbowałeś podkręcać moduł mod_rewrite i analizowałeś, co dokładnie się dzieje? –

+0

Powinieneś mieć "^ live \ .domain \ .com" jako RewriteCond, a powinno być drugie RewriteCond sprawdzające dla/api/URLs. – Tomalak

4

Wystarczy dodać index.php, patrz poniżej

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^live\.domain\.com$ [NC] 
RewriteRule (.+)$ "https://domain.com/index.php/api/$1" [L,P] 
Powiązane problemy