2014-05-12 85 views
1

除了我的主域之外,我還有幾個子域。像這樣:domain.com,about.domain.com和new.domain.com。子域的URL重寫

所有3個在其各自的根文件夾中都有各自的.htaccess文件。

我試圖做兩件事情:

  1. 所有流量都分別被髮送到同一URL。
  2. thankyou.php被重寫的URL /謝客

這兩項工作的主域,domain.com。

但他們不適用於子域。

這裏是domain.com是什麼在起作用:

Options +FollowSymLinks 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^domain.com 

RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 

RewriteRule ^index.php$ http://www.domain.com [R=301,L] 

RewriteRule ^thank-you/?$ thankyou.php [NC,L] 

欣賞任何幫助。

+0

看看這有助於http://stackoverflow.com/questions/5445978/htaccess-subdomain – alex

+0

thanx的響應。我看着它,但不知道該如何處理它。對不起,我對這一切都很陌生。 – user3512522

+0

首先,你是否可以訪問子網域,而不需要url中的額外參數? – alex

回答

0

使用此的.htaccess你的子域名:

Options +FollowSymLinks 

RewriteEngine on 

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

RewriteCond %{THE_REQUEST} \s/+index\.php\s 
RewriteRule ^index.php$/[R=301,L] 

RewriteRule ^thank-you/?$ /thankyou.php [NC,L] 
+0

Thanx for the response。那麼這是否在單獨的.htaccess文件中,該文件駐留在子域的根目錄中。 – user3512522

+0

是的,這是正確的。 – anubhava

+0

當我將它添加到子域根目錄下的.htaccess文件中時,每當我想去about.domain.com時,它都會將我帶到一個錯誤頁面,其URL爲www.about.domain.com – user3512522

0

你試過這個嗎?

RewriteCond %{HTTP_HOST} ^domain.com$ [NC] 
RewriteRule (about)(/.*|$) $1.domain.com/$2 [R=301,L] 
+0

我應該在哪裏放置這個..?在主域名根目錄下的.htaccess文件中......?我應該把它放在我迄今爲止的主要域名的底部,正如我在原始帖子中所顯示的那樣......? – user3512522

+0

你有試過它嗎? – alex

+0

好的,如果我把它放在單個子域的.htaccess文件中,沒有任何工作。但是,如果將它添加到我已經在主域的.htaccess文件中工作的底部,它可以用於顯示單個頁面,但重寫「Thank You」URL(thankyou.php)不會因爲它在開始時插入了一個前導斜槓,如下所示:/about.domain.com/thank-you – user3512522