Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Редирект на другую страницу

Автор armis, 27-09-2012, 00:45:28

« назад - далее »

armisTopic starter

Уважаемые форумчане.

Столкнулся с такой проблемой: выскочил и проиндексировался дубль главной страницы сайта http://pirog-studio.com по адресу http://pirog-studio.com/ru
Проблема заключается в том, что на сайте организована поддержка 2-х языков (русский и английский) и все страницы сайта содержат суффикс ru или en, например http://pirog-studio.com/ru/portfolio01

Если в htaccess указываю Redirect 301 /ru http://pirog-studio.com, то начинает переадресовываться весь сайт, т.е. http://pirog-studio.com/ru/portfolio01 переадресовывается на http://pirog-studio.com/portfolio01 (т.о. я имею переадресацию не страницы, а каталога).

И всё бы ничего, но, если переходишь на английский раздел (флажки справа), а потом с английской странички снова на русский язык, то выбивает ошибку 404.

Подскажите, в чем я не прав))
  •  


armisTopic starter

Откликов гуру было много))
Решил всё своими силами, пришлось включать мозги))
  •  


inetwmr

  •  

Efremof

Скажите а такая же проблема если у меня есть   http://site.ru/ и http://sitw.ru/index.html
  •  

Alexander2011

Цитата: Efremof от 28-09-2012, 21:27:14
Скажите а такая же проблема если у меня есть   http://site.ru/ и http://sitw.ru/index.html
Попробуйте вставить в файл .htaccess такой код:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://vash_site/ [R=301,L]
Как выбрать стеклокерамическую плиту?
Советы, отзывы, рекомендации.
  •  


Efremof

а если у меня в .htaccess уже стоит такой код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.advokatdona\.ru$ [NC]
RewriteRule ^(.*)$ http://advokatdona.ru/$1 [R=301,L]


под ним надо написать этот?

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://advokatdona.ru/ [R=301,L]
  •  

parmactep

#6
Цитата: Alexander2011 от 01-10-2012, 03:36:27
Попробуйте вставить в файл .htaccess такой код:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://vash_site/ [R=301,L]

Вы сейчас человеку сайт поломаете....

Добавлено: 02-10-2012, 00:38:53


по сабжу:
в robots.txt ставим код
User-Agent: *
Disallow: /ru/*


Добавлено: 02-10-2012, 00:40:37


Точнее не правильно я вас сразу понял...
Вот так:
User-Agent: *
Disallow: /ru
  •  

Alexander2011

Цитата: Efremof от 01-10-2012, 20:47:49
а если у меня в .htaccess уже стоит такой код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.advokatdona\.ru$ [NC]
RewriteRule ^(.*)$ http://advokatdona.ru/$1 [R=301,L]


под ним надо написать этот?

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://advokatdona.ru/ [R=301,L]


Я, конечно, сам не специалист и смотрю, как другие делают... Из логики в таком случае я бы сделал так:
Options +FollowSymLinks
RewriteEngine On
### Редиректы с www на без-www
RewriteCond %{HTTP_HOST} ^www\.advokatdona\.ru$ [NC]
RewriteRule ^(.*)$ http://advokatdona.ru/$1 [R=301,L]
### Редиректы с index.html на без-index.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://advokatdona.ru/ [R=301,L]


Но в любом случае, действительно, пусть дадут совет специалисты по конфигурации веб-серверов Apache, а то вдруг:
Цитата: parmactep от 02-10-2012, 00:34:16
Вы сейчас человеку сайт поломаете....
Как выбрать стеклокерамическую плиту?
Советы, отзывы, рекомендации.
  •  


parmactep

#8
Цитата: Alexander2011 от 02-10-2012, 03:11:17### Редиректы с index.html на без-index.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://advokatdona.ru/ [R=301,L]
Данная регулярка не относится к index.html, Вы говорите о редиректах index.html, а в коде фигурирует только index.php... Имя домена зачем вы ограничиваете от 3 до 9 символов?



Добавлено: 02-10-2012, 04:21:56


Цитата: Alexander2011 от 02-10-2012, 03:11:17Но в любом случае, действительно, пусть дадут совет специалисты по конфигурации веб-серверов Apache, а то вдруг:
Ни при чем сдесь конфигурация веб-сервера... Через нее можна реализовать, но вопрос - зачем....
Как уже говорил, достаточно
User-Agent: *
Disallow: /ru
  •  

Alexander2011

#9
Цитата: parmactep от 02-10-2012, 04:18:25
Данная регулярка не относится к index.html, Вы говорите о редиректах index.html, а в коде фигурирует только index.php... Имя домена зачем вы ограничиваете от 3 до 9 символов?
Прошу прощение. Тогда примерно так?
### Редиректы с index.html на без-index.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://advokatdona.ru/ [R=301,L]

А вот на счет ограничений по символам ничего сказать не могу. Синтаксис настроек файла .htaccess для меня достаточно сложен.

Цитата: parmactep от 02-10-2012, 04:18:25
Ни при чем сдесь конфигурация веб-сервера... Через нее можна реализовать, но вопрос - зачем....
Как уже говорил, достаточно
User-Agent: *
Disallow: /ru

Но это по сабжу, как я понимаю, такое решение: запрет на индексирование для всех ПС страниц вида site.com/ru. Не совсем уловил связь между дублями site.ru и site.ru/index.html.

Добавлено: 02-10-2012, 06:31:04


Вот, кстати, здесь еще про редирект речь идет.
Как выбрать стеклокерамическую плиту?
Советы, отзывы, рекомендации.
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....