Спасибо. Интересный совет, пойду делать, посмотрю потом что получится.
А какие варианты редиректы пробовал?
Подскажите ещё насчёт слеша на конце урла. Как его убрать.
Со всех страниц убрал index.php, теперь ссылки выглядят так: site.ru/?id=pade...
Но появилась другая проблема, когда запускаю сделать карту сайта много ссылок появляется со слешем на конце: <a href="http://site.ru/?id=pade/">Страница не найдена</a>. Но самое интересное когда проверяю на денвере там всё в порядке страницы без слеша.
А если я поставлю один из этих редиректов на страницы с site.ru/index.php?id=pade на site.ru/?id=pade, то дубли уйдут?
Есть много дублей страниц типа:
site.ru/index.php?id=pade...
site.ru/?id=pade...
Редиректы:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
-------------------
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://%{HTTP_HOST}/$1 [R=301,L]
они перенаправляют с http://site.ru/index.php?id=pade... на http://site.ru/?id=pade...
А надо чтоб было наоборот: http://site.ru/?id=pade... на http://site.ru/index.php?id=pade...
Подскажите такой редирект.
А конфликта не получится, ведь в урл присутствует этот знак.---------- Добавлено 24.08.2016 в 18:58 ----------
На сайте не нашёл. но если прописались только в карте тогда мне создались проблемы с Sitemap. Раньше такого не было. Можете что-нибудь подсказать? А то если в Sitemap нашлось, то могут и поисковики найти.
Попробовал несколько вариантов удалить завершающий слэш через .htaccess, но пока ни чего не помогло.
Всё переделал, вроде работает, но сделав Sitemap появилось много ссылок (site.ru/?id=pade/) со слешем на конце, а с ними у меня выдаёт ошибку 404.
Спасибо, вроде разобрался. На денвере протестировал всё вроде работает нормально. Пошёл на хостинге переделывать.
Уточните где убрать index.php?
Здесь site.ru/index.php или здесь site.ru/index.php?id=pade
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
1. У меня уже стоит код:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.site.ru [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
это ведь 301 редирект с index.php на главную и убирает слеш в конце на главной.
3. Подскажите как тогда сделать редирект с site.ru/?id=pade на site.ru/index.php?id=pade
2. довесок \ HTTP/ убрал в верху урл стал выглядеть site.ru/?id=pade, а на странице при наведении на ссылку site.ru/index.php?id=pade - поисковики такое не воспримут за дубли?
И ещё, ввёл адрес так site.ru/?=pade и он тоже есть. А здесь какой редирект должен быть?