2012-04-28 148 views
3

我只想問一個關於.htaccess的快速問題。.htaccess子域重定向到根域

這裏是我的網站主辦如何與子域的作品...

一旦我創建一個子......然後他們創建一個文件夾放到根目錄文件夾是這樣的...

www.mydomain.com ---> public_html 
sub.mydomain.com ---> public_html/sub 

我想要什麼要做的是...將所有請求從sub.mydomain.com重定向到www.mydomain.com與一些GET變量或東西來確定從哪個子域請求來自...

因此,例如.. 。當我得到一個請求,像這樣工作

http://sub.mydomain.com/myphp.php ---> http://www.mydomain.com/myphp.php?comingfrom=sub 
http://sub.mydomain.com/(anyUrl) ---> http://www.mydomain.com/(anyUrl)?comingfrom=sub 

我也想知道這是否會執行一些的.htaccess重定向存在於主域...

希望你們能幫助我...提前

謝謝...

+0

你需要[虛擬主機(http://httpd.apache.org/docs/2.0/vhosts/)。 – 2012-04-28 13:37:31

+0

你可以查看這個帖子,非常有用。 http://stackoverflow.com/questions/183928/how-to-let-php-to-create-subdomain-automatically-for-each-user – tienrocker 2012-04-29 14:23:08

回答

1

放了的.htaccess與以下內容到您的子文件夾:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC] 
RewriteRule ^(.*) http://www.mydomain.com$1?comingfrom=%1 [QSA,R=301,L] 

(未經測試,抱歉)

編輯:

你指出,你想保持子域在您的地址欄,不想重定向。所以,你需要做一個視圖改變你www.mydomain.com的<VirtualHost>像這樣

<VirtualHost ...:80> 
    ServerName www.mydomain.com 
    ServerAlias mydomain.com 
    ServerAlias sub.mydomain.com 

    DocumentRoot /path/to/your/docroot/of/www.mydomain.com 

    RewriteEngine On 
    RewriteCond %{HTTP_HOST} !^www\.mydomain\.com [NC] 
    RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.com$ [NC] 
    RewriteRule ^(.*) $1?comingfrom=%1 [QSA,PT,L] 
</VirtualHost> 
+1

這工作......但它「改變」的網址...以任何方式保持它像sub.mydomain.com和內部執行重定向頁面? – saggio09 2012-04-28 13:53:16

+0

雖然,我沒有使用這個解決方案,因爲我的主機不允許它...這是問題的解決方案...所以我要把這作爲我的問題的解決方案... – saggio09 2012-05-02 17:18:13