2011-12-05 27 views
9

Mi chiedevo se il seguente scenario è possibile utilizzando le regole htaccess. Desidero che un sottodominio venga reindirizzato a un altro URL. Ho contattato l'amministratore del server per aggiungere il sottodominio "test" al dominio "esempio.com". Il dominio principale non ha altri sottodomini.reindirizzamento sottodominio in htaccess

Quale regola devo inserire in htaccess per raggiungere: http://test.example.com da reindirizzare a http://www.something-else.com.

NOTA: www.something-else.com è un url complicato (lunghezza di 200 caratteri)

EDIT mio completo del file .htaccess ora assomiglia:

Options +FollowSymLinks 
RewriteEngine on 
RewriteOptions inherit 
RewriteBase/

RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/redir.php [L] 

RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

Il file .htaccess si trova alla directory principale example.com. Non ho accesso fisico per testare la sottodirectory, anche se so che esiste - il ping a quell'url mi mostra l'IP di example.com

Digitare test.example.com nella barra degli indirizzi del browser non ha alcun effetto. Schermo bianco, nessun reindirizzamento, niente di niente. Se qualche pagina esiste lì, non lo so.

+0

cos'è un URL complicato? –

+0

@Book di Zeus: https://www.somdomain.com/a/folder1/somepage?var=xxx&var2=xxx&var3=xxx&var4=http://another-domain.com/folder1/xxxxx/&var5=xxx&var6=xxxx – andrew

+0

http://stackoverflow.com/a/1460652/567986 ma dovresti rimuovere il ', P' alla fine e rimuovere% {REQUEST_URI}. – Gerben

risposta

17

per gli URL statici:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ https://www.somdomain.com/a/folder1/somepage?var=xxx&var2=xxx&var3=xxx&var4=http://another-domain.com/folder1/xxxxx/?&var5=xxx&var6=xxxx [R=301,NC,L] 

per gli URL dinamici (se il dominio originale ha le cartelle che deve essere spostato verso l'altro dominio):

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ https://www.somdomain.com%{REQUEST_URI} [R=301,NC,L,QSA] 

Dalla tua modifica:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC] 
RewriteRule ^(.*)$ redir.php [R=301,NC,L] 
+0

no doenst lavoro. A prima vista ho pensato che l'url di reindirizzamento stesse rompendo l'htaccess. Lo metto in un file php e cambio il mio htaccess per reindirizzare il sottodominio al file php. Continua a non funzionare. RewriteEngine On RewriteCond% {HTTP_HOST}^test.example.com $ [NC] RewriteRule^(. *) $ Http://www.example.com/redir.php [R = 301, NC, L] – andrew

+0

ho aggiornato la mia risposta –

+0

Ancora niente. Dovrebbe funzionare, lo so, ma non è così. Ho modificato il mio post originale per mostrare il mio pieno accesso. Sono confuso.All'inizio sembrava così semplice – andrew

Problemi correlati