настроить правило для .htaccess, появились дубли на сайте

iNFiNiTy

Создатель
Регистрация
11 Апр 2007
Сообщения
35
Реакции
2
сайт на нескольких языках, в последнее время стали появляться дубли страниц, пример

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

помогите настроить .htacces что бы при заходе на такие страницы перекидывало на правильную страницу

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

то есть надо убрать лишние языковые параметры
 
Последнее редактирование:
в gogle webmasters совсем недавно начали появляться такие ссылки

Код:
http://site.ru/ua/ua/module/index.html
http://site.ru/en/en/module/index.html

естественно мне гугл говорит что это дубли

то как она формируется урл я хз - cms еще не разобрался, вот хочу чтобы через htaccess сделать ридерект на нужные страницы

Код:
http://site.ru/ua/module/index.html
http://site.ru/en/module/index.html

PS предыдущий пост почистил от левых урлов
 
Скиньте полную версию .htaccess
 
Код:
ErrorDocument 400 /?http_error=400
ErrorDocument 403 /?http_error=403
ErrorDocument 404 /?http_error=404
ErrorDocument 414 /?http_error=414
ErrorDocument 500 /?http_error=500
ErrorDocument 503 /?http_error=503

#Options -Indexes
#Options +FollowSymlinks

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  #XSS
  RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
  RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
  RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
  RewriteRule ^(.*)$ index.php [F,L]
  #tpl file no view
  RedirectMatch (.*)\.tpl$  https://site.ru/

# Добавил
  RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
  RewriteRule ^(.*)$ https://site.ru/$1 [L,R=301]

  RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ [NC]
  RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ https://site.ru/$1 [L,R=301]
  RewriteRule ^ru$ https://site.ru/$1 [L,R=301]
  RewriteRule ^ua$ https://site.ru/$1 [L,R=301]
  RewriteRule ^en$ https://site.ru/$1 [L,R=301]

# конец

  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  RewriteCond %{REQUEST_URI} !^.+\.jpg|jpeg|gif|png|bmp|mp3|flv$ [NC,OR]
  RewriteCond %{REQUEST_URI} ^.+\.php\.(.*){3,5}$ [NC]
  RewriteRule ^uploads/(.*)$ engine.php?do=download&file=$1 [N]

  RewriteRule ^index.html$ /index.php [L,QSA]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?mod_rewrite=$1 [L,QSA]
</IfModule>
 
Код:
RewriteRule ^(ru|ua|en)/\1/(.*)$ https://site.ru/$1/$2 [L,R=301]
 
да .. немного подправил и получилось так
Код:
RewriteRule ^(ru|ua|en)/(ru|ua|en)/(.*)$ https://site.ru/$1/$3 [L,R=301]

ибо попадались урлы типа

/ru/en/....html
/ru/ua/...html
 
Назад
Сверху