2012-01-13 93 views
1

我有一個奇怪的問題.htaccess和谷歌。我有多個不同的根域301重定向到主域,這沒關係,但我也有多種語言,如.com/sl,.com/it,.com/en和.net/sl,.net /它,.net/en的問題是,當你點擊從谷歌鏈接是wwww.old-domain.com/sl,這是正確的,但是當你點擊它的網址變成這樣www.new-domain。 comsl所以斜線丟失,當然頁面不起作用。.htacces多語言重定向

那麼是否有修復htaccess?我htacces重定向是:

RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.com/$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain.net/$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.new-domain\.com$1" [R=301,L] 

所以,我必須解決這個問題www.old-domain.comsl到www.new-domain.com/sl

感謝所有。

回答

2

你不應該需要在RewriteCond/。此外,你錯誤地逃避(你需要在相反的地方做)。

用下面的方法清理它,看看它是否能解決你的問題。

RewriteCond %{HTTP_HOST} ^old-domain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain\.net$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.old-domain\.net$ 
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L] 
+0

我可以嘗試什麼?你有其他的'RewriteRules'嗎?這個*應該*工作,假如你以後不做其他事情重寫它。 – 2012-01-13 15:44:16

+0

我的意思是無效的網址,我按照你的建議清理了htacces,而我幾乎在那裏:old-domain.com/sl重定向到www.new-domain.com/sl,但是www.old-domain .com/sl重定向到www.new-domain.comsl,所以我不知道爲什麼是錯的...嗯 – 2012-01-13 15:57:40

+0

不確定。抱歉。如果您完全複製我的代碼。有用。我測試過了。您有其他規則或代碼導致該問題。 – 2012-01-13 16:16:13

3

我想你忘了斜線..試試這個嗎?

RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.com/$ [OR] 
RewriteCond %{HTTP_HOST} ^old-domain.net/$ [OR] 
RewriteCond %{HTTP_HOST} ^www.old-domain.net$ 
RewriteRule ^(.*)$ "http\:\/\/www\.new-domain\.com\/$1" [R=301,L] 
+1

+1幾乎在那裏,歡迎來到SO。 – 2012-01-13 15:10:05