regras mod_rewrite apache para subdomínio e estrutura restful

1

Estou tentando configurar várias regras de reconfiguração que permitem a existência de uma estrutura de URL restful, mas apenas em um determinado subdomínio. Vários subdomínios já apontam para a base de código compartilhada. Eu também tenho uma reescrita existente para usar o PHP smarty, que já captura tudo. Todos os subdomínios, incluindo o sossegado, precisam ser redirecionados como uma etapa final.

Por fim, por conveniência, gostaria de tentar colocar o subdomínio em uma variável de string de consulta, se possível, para evitar extraí-lo programaticamente mais tarde.

Eu sou novo no mod_rewrite e estou tendo problemas para fazer tudo isso funcionar ... aqui estão minhas tentativas mistas até agora, que não funcionam bem juntas.

# copy subdomain to variable.  
# ideally though, dev.subdomain.domain.com would only copy "subdomain", not "dev.subdomain". 
# this should work for all subdomain, and keep going.
RewriteCond %{HTTP_HOST} (.+).domain.com [NC]
RewriteRule / /$1?subdomain=%1 [QSA]

# restful api, only for restful.domain.com. how to apply to all rules?
RewriteCond %{HTTP_HOST} restful.domain.com
RewriteRule ^/user/([^/]+)/ /calendar/?id=$1 [QSA,N]
RewriteRule ^/admin/([^/]+)/ /calendar_admin/?id=$1 [QSA,N]
RewriteRule ^/user/([^/]+)/calendar/ /calendar/?id=$1 [QSA,N]
RewriteRule ^/user/([^/]+)/profile/ /profile/?id=$1 [QSA,N]

# Smarty rewrite rule the request from "/foo/bar/" to "/dispatch.php/foo/bar/"
RewriteRule     ^(.*)$    dispatch.php/$1 [L]

Como posso fazer com que a primeira seção se aplique somente ao subdomínio restful.domain.com? Ele ainda pode reescrever e, em seguida, fazer a regra do smarty com as novas URLs?

    
por Miro 09.03.2014 / 23:21

0 respostas