2011-07-21 75 views
0

我試圖用.htaccess創建一些重定向,但我從來沒有設法讓它充分發揮功能。也許這裏有人可以幫助我。域名.htaccess重定向問題

我需要的是:

  1. http://domain.sehttp://domain.com重定向到http://www.domain.com

  2. 我還需要http://domain.se/somefolderhttp://domain.com/somefolder以及http://www.domain.se/somefolder重定向到http://www.domain.com/folder

我試圖自己做到這一點,但所有我最終都是關於數據未被髮送的錯誤。

回答

1
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

# folder rewrite 
RewriteRule ^somefolder$ folder [L] 

# domain redirect 
RewriteCond %{HTTP_HOST} =domain.com [OR] 
RewriteCond %{HTTP_HOST} =domain.se 
RewriteRule (.*) http://www.domain.com/$1 [R=301,L] 
  1. 這是被放置在的.htaccess文件在網站根目錄。如果放置在其他地方,可能需要進行一些調整。

  2. 第一條規則將重寫(內部重定向)請求到/somefolder/folder。如果你需要301永久重定向,那麼用代替[R=301,L]

  3. 第二條規則將做域重定向工作。如果域爲domain.comdomain.se,此規則將僅重定向。如果您想從任何域名(您的Web服務器配置可以提供服務)重定向到www.domain.com,則將這2個RewriteCond行替換爲:RewriteCond %{HTTP_HOST} !=www.domain.com

+0

謝謝,這工作完美! – Jonathan

+0

@Jonathan很高興聽到。在這種情況下,請考慮將此答案標記爲已接受 – LazyOne

1
RewriteCond %{HTTP_HOST} !^www.domain.com$ 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301] 

這應該符合您的所有要求。所有不是www.domain.com的請求都將被重定向到該域,並且請求URI保持不變。

+0

我在下面的帖子中使用了答案,但是謝謝! – Jonathan

+0

是否有理由說你使用了27分鐘後發佈的其他代碼,但除了過於詳細之外,它們是相同的? –