2008-12-14 33 views
8

Utilizo codeigniter como mi instalación principal en el dominio principal. He creado un subdominio y una carpeta llamada live v.g. live.domain.com mapas a público/en vivo. Sin embargo, en público, uso codeigniter..htaccess Reglas de reescritura para el subdominio

ahora tengo la dinámica url CodeIgniter:

http://domain.com/api/

que quiero asignar al subdominio:

https://live.domain.com

Así que va a:

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

estaría utilizando la secuencia de comandos:

http://domain.com/api/apifunctioname

y posiblemente:

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

todo está en el mismo servidor de modo que no se necesitan redirecciones.

¿Alguien tiene alguna idea sobre qué reglas de reescritura usar?

Options +FollowSymLinks 

RewriteEngine On 

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

Los trabajos anteriores grandes como una reescritura, pero vuelve a dirigir a http://domain.com/api/functionname lugar yo quiero que la ruta; de manera que cuando se va a:

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

Se queda en la URL, pero utiliza la secuencia de comandos de

http://domain.com/api/functionname

Muchas gracias,

hielo

Respuesta

10

¿Qué tal algo como lo siguiente :

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

Gracias embargo he intentado, pero acabo de recibir un 404 Not Found - muy peculiar –

+0

probablemente debería mencionar que no se ha probado. ¿Has intentado aumentar el nivel de registro mod_rewrite y analizado exactamente qué está pasando? –

+0

Debería tener "^ live \ .domain \ .com" como RewriteCond, y debería haber una segunda RewriteCond que verificara/api/URLs. – Tomalak

4

Sólo añadir index.php, véase más adelante

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