Многоязычное перенаправление .htacces - PullRequest
1 голос
/ 13 января 2012

У меня странная проблема с .htaccess и google.У меня есть несколько разных корневых доменов с перенаправлением 301 на основной домен, и это нормально, но у меня также есть несколько языков, таких как .com / sl, .com / it, .com / en и .net / sl, .net /это, .net / en проблема в том, что когда вы нажимаете на ссылку из Google, это wwww.old-domain.com/sl, и это правильно, но когда вы нажимаете на него, URL становится похожим на этот www.new-домен. 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]

Так что я должен исправить этодля всех.

Ответы [ 2 ]

3 голосов
/ 13 января 2012

Я думаю, что вы забыли косую черту .. Попробуйте это?

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]
2 голосов
/ 13 января 2012

Вам не нужно указывать / в вашем 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...