2013-10-29 16 views
5

Questa domanda è stata probabilmente chiesta più di mille volte, ma ho provato così tanti script e cercato così a lungo senza trovare nulla, ho pensato, chiediamoci..htaccess - Reindirizza sottodominio nella cartella

Voglio semplicemente m.daltonempire.nl da reindirizzare a daltonempire.nl/m/ senza che l'utente veda la modifica dell'URL.

Quindi, se è richiesto m.daltonempire.nl/hello.php, voglio che l'utente continui a vedere questo URL, mentre la pagina indicata è in realtà daltonempire.nl/m/hello.php.

Nota: non voglio www., così semplicemente http://m.daltonempire.nl

Grazie in anticipo,

Isaia v Hunen

risposta

2

ho impostato CNAME del mio sottodominio di seguito:

blog.mydomain.com

al mio wordpress che ha installato nella cartella /blog/ nella directory root.

Precedentemente ho bisogno di usare questo URL per chiamare wordpress:

http://blog.mydomain.com/blog/

che è brutto. Ho provato molti codice per reindirizzare:

http://blog.mydomain.com/

alla cartella in modo da posso usarlo come il mio url wordpress.

Finalmente ho avuto .htaccess ambiente che è il lavoro:

RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/blog/ 
    RewriteRule (.*) /blog/$1 

Ho anche CNAME altro sottodominio: http://forum.mydomain.com a MyBB installazione nella cartella /forum/mybb/ in modo che il .htaccess bisogno di mettere [L] su ciascuno di codice RewriteRule come di seguito.

RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^forum\.tophyips\.info$ 
    RewriteCond %{REQUEST_URI} !^/forum/mybb/ 
    RewriteRule (.*) /forum/mybb/$1 [L] 

    RewriteCond %{HTTP_HOST} ^blog\.tophyips\.info$ 
    RewriteCond %{REQUEST_URI} !^/blog/ 
    RewriteRule (.*) /blog/$1 [L] 

Nel caso in cui si desidera utilizzare il codice per favore non dimenticate di impostare l'URL del sito e il percorso dei cookie nel file di configurazione dell'applicazione seguire per l'impostazione per far funzionare il reindirizzamento in modo corretto.

4

Prova questo esempio:.

RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteCond %1 !^(www|ftp|mail)$ [NC] 
RewriteRule (.+)$ "http://example.com/%1" [L,P] 

Eventuali richieste http://test.example.com verrà mappato a http://example.com/test/...

Prova su google dynamic subdomain with php and htaccess per ottenere risultati di ricerca migliori.

+7

1 anno più tardi e quando provo a fare il googling 'sottodominio dinamico con php e htaccess' trovo questa domanda ... – Jared

+0

@Latheesan ha causato un ciclo infinito – Adrian

4

Aggiungi questo al vostro .htaccess nella vostra web root directory /

RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} ^m\.daltonempire\.nl$ [NC] 
RewriteCond %{REQUEST_URI} !^/m(/|$) [NC] 
RewriteCond %{REQUEST_FILENAME} !-d # not a dir 
RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteRule ^(.*)$ m/$1 [L] 

Le %{REQUEST_FILENAME} condizioni sarebbero permetterà di accedere /exists.php e non riscriverlo a /m/exists.php. Rimuovere questi due se si desidera riscrivere anche se ciò potrebbe potenzialmente ignorare i file e le directory esistenti.

+0

Grazie, funziona come un incantesimo! Ho quasi rinunciato a tutta questa cosa della riscrittura, ho provato 10 modi diversi di farlo e ogni altro modo mi ha dato 500 errori. –

+0

@ kK-Storm Felice di essere di aiuto :) –

Problemi correlati