Crie um subdomínio VHost & Forward nele

8

Gurus de So

Eu tenho um arquivo .htaccess simples no qual redireciono apenas www para www para o meu aplicativo da web. Agora o que eu quero fazer é

  1. Crie um novo vhost como http: //subdomain.mydomain.tld
  2. Crie um redirecionamento para qualquer pessoa que chegue a esse subdomínio em uma pasta no meu aplicativo, como app / webroot / subdomínio

Meu .htaccess atual se parece com isso

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.mydomain\.tld [NC]
    RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301.L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app/webroot/$1 [QSA,L]
</IfModule>

Como eu faria isso? Posso fazer isso tudo no meu arquivo .htaccess ou também preciso mexer no GoDaddy? Prefiro não fazer isso no aplicativo, se isso faz sentido.

Estou executando o Ubuntu 10.04 + Apache 2.2.14-5

obrigado


fonte

Respostas:

18

Aqui está o que você precisa colocar no seu arquivo .htaccess:

RewriteEngine on
# redirect mydomain.tld to www.mydomain.tld
RewriteCond %{HTTP_HOST} ^mydomain\.tld [NC]
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L]

# default website
RewriteCond %{HTTP_HOST} ^www\.mydomain\.tld$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app/webroot/$1 [NC,QSA,L]

# subdomain to folder
RewriteCond %{HTTP_HOST} ^(sub|subfolder)\.domain\.com$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)/?$ http://www.domain.com/%1/$1 [NC,QSA,L]
Livro de Zeus
fonte
Obrigado, preciso primeiro configurar um vhost para esse subdomínio?
Você sempre pode fazer um vhost com o mesmo DocumentRoot da WWW, se desejar. Você também pode alterar o ServerAlias ​​do seu www vhost para adicionar mais domínios, por exemplo: ServerAlias ​​domain.com www.domain.com sub.domain.com.
Desculpe, sou um n00b com apache2. Então, duas coisas - 1. Quero permitir apenas um subdomínio fixo e não ([a-z0-9]) conforme seu código, devo apenas mudar isso para ^ (sub)? 2. Como configuro o vhost novamente (muito n00b para você? Desculpe)?
1) veja minha resposta atualizada. 2) Você criou uma entrada de subdomínio? Você apontou para o mesmo local que o www?
1) Estou olhando para ele e não consigo encontrar uma única alteração ainda, estou seriamente perdido? 2) Não há mais nada nesse arquivo .htaccess além do que mostrei.