Buckminster
(usa Debian)
Enviado em 20/05/2013 - 04:01h
jonasguartieri escreveu:
Olá!
Desenvolvi um framework MVC que possui suporte a múltiplas aplicações e módulos em PHP:
|-App1
|---Configurations
|---Modules
|---Models
|---Views
|---Controllers
|-App2
|---Configurations
|---Modules
|---Models
|---Views
|---Controllers
|-Public
|---.htaccess
|-.htaccess
A ideia é utilizar o mesmo framework, com todos os helpers e bibliotecas para todas as aplicações, garantido que tudo fique igualmente atualizado e centralizado. Para acessar a aplicação "App1", por exemplo, utilizo a url http://localhost/App1. O problema é que eu gostaria de utilizar um domínio independente para cada aplicação, sendo assim, poderia acessar "App1" através do endereço http://app1, mas isso não funcionaria com virtualhosts porque a url precisa ser tratada pelos .htaccess do framework.
Alguém sabe como fazer isso?
Desde já, agradeço à todos!
Bom, não sei como você desenvolveu teu framework.
Mas você pode criar criar manualmente o registro VirtualHost, assim, um exemplo:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^([^\.]+)\.localhost$
RewriteCond /var/www/%1 -d
RewriteRule ^(.*)$ %1/$1 [L]
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
Exemplificando:
RewriteCond %{HTTP_HOST} ^([^\.]+)\.localhost$ << localhost$ procura algumacoisa.localhost e captura a primeira parte do nome do host.
RewriteCond /var/www/%1 -d << garante que a cadeia capturada (por exemplo, algumacoisa) existe e é um sub-diretório de /var/www/
RewriteRule ^(.*)$ %1/$1 [L] << reescreve qualquer um dos pedidos *. do localhost para o sub-diretório /var/www/algumacoisa
Você só precisa criar os *.localhost no teu servidor Web e apontar no teu framework.
Se forem muitos você pode criar uma variável.
Não sei se é isso que você quer.
O problema de utilizar um framework é que você passa a ser dependente dele com seus benefícios e problemas.