我的.htaccess和google有一个奇怪的问题。我有多个不同的根域,301重定向到主域,这没关系,但我也有多种语言,如.com / sl,.com / it,.com / en,.net / sl,.net /它,.net / en问题是,当你点击谷歌的链接是wwww.old-domain.com/sl这是正确的,但当你点击它时,网址就像这个www.new-domain。 comsl 所以缺少斜杠,当然页面不起作用。
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
感谢所有人。
答案 0 :(得分: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 :(得分: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]