Redirect 301 .htaccess нужна помощь по тонкой настройке

Автор KenDrive, 09 июня 2014, 16:18:16

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

0 Пользователи и 1 гость просматривают эту тему.

KenDrive

Добрый день, уважаемые пользователи!

В общем возникла проблема, которая ранее не беспокоила. Но сейчас задался этим вопросом. После того как были включены "красивые" адреса типа /index.php/topic,1345.0.html
В поисковике осталось много старых адресов типа /index.php?topic=1345.0 которые мне удалось редиректить правильно.
Но обнаружил что "красивых" ссылок аж 4 типа:
/index.php/topic,1345.0.html
/index.php/topic,1345.html
/index.php?/topic,1345.0.html
/index.php/topic,1345
Поисковик конечно умный и не будет держать у себя в сёрче одинаковые страницы, конечно он их склеил. Однако склеил как попало, не одного вида.

Суть в том что настроить 301 редирект в .htaccess удалось только для 2-х типов страниц /index.php?/topic,1345.0.html и /index.php?topic=1345.0
Остаётся открытым как настроить редирект для /index.php/topic,1345 и /index.php/topic,1345.html (тут как видите нет нуля в перед html)

Вот пример того как я справился с 2-мя типами ссылок
RewriteCond %{QUERY_STRING} ^topic=(.*)$
RewriteRule ^(.*)$ /index\.php/topic,%1\.html? [R=301,L]

RewriteCond %{QUERY_STRING} ^/topic\,(.*).html$
RewriteRule ^(.*)$ /index\.php/topic,%1\.html? [R=301,L]

RewriteCond %{QUERY_STRING} ^/topic\,(.*)$
RewriteRule ^(.*)$ /index\.php/topic,%1\.html? [R=301,L]


Мод для редиректа устанавливать не хочеться.


KenDrive

Цитата: digger® от 09 июня 2014, 16:42:44
Зачем вам эти "красивые" адреса? Кроме кучи проблем от них никакого профита не получите.
Уже поздно возвращать, больше года прошло. Теперь нужно только корректировать.

digger®

У вас третье правило перекрывает второе, поэтому во втором особого смысла нет. Во втором правиле не экранированная точка, поэтому оно, скорее всего, не работает. Запятые экранировать, вроде бы, не требуется.
Для SMF1 есть мод canonical, поставьте его - будет меньше проблем с дублями и склейкой.