Crea un subdominio VHost y Forward

8

Gurús de so

Tengo un archivo .htaccess simple donde solo redirijo no www a www para mi aplicación web. Ahora lo que quiero hacer es

  1. Cree un nuevo vhost como http: //subdomain.mydomain.tld
  2. Crear una redirección para cualquier persona que vaya a ese subdominio a una carpeta en mi aplicación como app / webroot / subomain

Mi actual .htaccess se ve así

<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>

¿Cómo lo haría? ¿Puedo hacer todo esto en mi archivo .htaccess o también necesito meterme con GoDaddy? Prefiero no hacer esto en la aplicación, si eso tiene sentido.

Estoy ejecutando Ubuntu 10.04 + Apache 2.2.14-5

Gracias


fuente

Respuestas:

18

Esto es lo que necesita poner en su archivo .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]
Libro de zeus
fuente
Gracias, ¿necesito configurar un vhost primero para ese subdominio?
Si lo desea, siempre puede usar un vhost con el mismo DocumentRoot que WWW. También puede cambiar el ServerAlias ​​de su www vhost para agregar más dominios, por ejemplo: ServerAlias ​​domain.com www.domain.com sub.domain.com.
Lo siento, soy un n00b con apache2. Entonces, 2 cosas: 1. Solo quiero permitir un subdominio fijo y no ([a-z0-9]) según su código, ¿debería cambiar eso a ^ (sub)? 2. ¿Cómo configuro el vhost de nuevo (demasiado n00b para ti? Perdón)?
1) ver mi respuesta actualizada 2) ¿Creó una entrada de subdominio? ¿Lo apuntaste al mismo lugar que el www?
1) Lo estoy mirando y aún no puedo encontrar un solo cambio, ¿estoy realmente perdido? 2) No hay nada más en ese archivo .htaccess sino lo que he mostrado.