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?
Tags mod-rewrite apache-2.2