Crea un sottodominio VHost & Forward


8

Guru di So

Ho un semplice file .htaccess in cui reindirizzo solo non www a www per la mia webapp. Ora quello che voglio fare è

  1. Crea un nuovo vhost come http: //subdomain.mydomain.tld
  2. Crea un reindirizzamento per chiunque venga a quel sottodominio in una cartella sulla mia app come app / webroot / sottodominio

Il mio attuale .htaccess si presenta così

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

Come lo farei? Posso fare tutto questo nel mio file .htaccess o devo anche pasticciare con GoDaddy? Preferisco non farlo nell'app, se questo ha senso.

Sto eseguendo Ubuntu 10.04 + Apache 2.2.14-5

Grazie

Risposte:


18

Ecco cosa devi inserire nel tuo file .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]

Grazie, devo prima impostare un vhost per quel sottodominio?

Se lo desideri, puoi sempre un vhost per esso con lo stesso DocumentRoot del WWW. È inoltre possibile modificare ServerAlias ​​del proprio vhost www per aggiungere altri domini, ad esempio: ServerAlias ​​domain.com www.domain.com sub.domain.com.

Siamo spiacenti, sono un n00b con apache2. Quindi, 2 cose - 1. Voglio consentire solo un sottodominio fisso e non ([a-z0-9]) secondo il tuo codice, dovrei semplicemente cambiarlo in ^ (sub)? 2. Come posso impostare nuovamente il vhost (troppo n00b per te? Scusa)?

1) visualizza la mia risposta aggiornata. 2) Hai creato una voce di sottodominio? Lo hai indicato nello stesso posto del www?

1) Lo sto fissando e non riesco ancora a trovare un singolo cambiamento, mi sono davvero perso? 2) Nient'altro in quel file .htaccess ma quello che ho mostrato.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.