2011-12-23 171 views
1

嗨我有一個獨立的網站,位於主服務器的子目錄內。htaccess重寫到子域

子目錄網站內的所有鏈接指向根,我想捕獲這些鏈接並將它們發回到子目錄而不是根目錄。

這可能與htaccess?

回答

2

這不會重定向到子目錄,而是使其他域的行爲就像subdir是文檔根一樣。我認爲這更好。

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC] 
RewriteCond $1 !^subfolder 
RewriteRule ^(.*)$ /subfolder/$1 [L] 
1

由於@Gerben指出(他回答,你應該完全去給予好評現在),你可以讓其他域表現爲,如果subdir是文檔根是這樣的:

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC] 
RewriteCond $1 !^subdir 
RewriteRule ^(.*)$ /subdir/$1 [L] 

另一種做你所問的方法是在HTML文檔中使用<base>標籤。這樣做的一個好處是,對於Web服務器提供的每個文檔(包括子目錄/子域中的所有文檔而不是),您沒有額外的.htaccess處理。

如果你想這樣做內部的.htaccess並做301重定向,無論它是否是子域,它看起來這樣:

RewriteEngine on 
RewriteCond %{PATH_INFO} !^subdir/ 
RewriteRule ^(.*)$ subdir/$1 [L]