2011-08-10 82 views
0

我使用的Apache 2.2在Windows OS, 我需要非WWW網址重定向到www的網址,我在網上查,發現這似乎是工作了很多重定向非WWW網址,以WWW網址,通過htaccess的

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

但是,如果使用相同的重寫規則,我得到的WWW網址,以點到底:

例如:

http://example.com/test redirects to 
http://www.example.com. 
$1 is "." and its failing to add all params 
+2

你可以把你寫在.htaccess中的真實東西? – undone

+0

@Aseman RewriteCond%{HTTP_HOST}^mysite \ .local [NC] RewriteRule ^(。*)$ http://www.mysite.local/$1 [R = 301,L] – Deepak

回答

1

好!
你把這個你.htaccess文件:

RewriteCond %{HTTP_HOST} ^mysite\.local [NC] 
RewriteRule ^(.*)$ mysite.local/$1 [R=301,L] 

如果主機等於mysite.local(!沒有提到主機的結束),所以每個URL重定向到目錄mysite.local這意味着!
你應該使用這樣的:

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

所以每個URL主機不等於www.mysite.local會重定向到這一個!但請記住,如果您想創建子域,請將此子域的文檔根目錄放在WWW.MYSITE.LOCAL文檔根目錄下! (更好!)

+0

它仍然重定向到www.mysite 。本地。與params丟棄 – Deepak

+0

@Deepak它是簡單的代碼,使用每一個地方!你能給我整個.htaccess文件嗎?(如果你可以把它上傳到我可以下載的地方) – undone

相關問題