- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет!
Столкнулся с небольшой проблемой на сайте. Часть страниц 2 уровня (страницы категорий) выводятся в поиске следующим образом:
1)http://site.ru/?categoryID=XXX
2)http://site.ru/index.php?categoryID=XXX
То есть имеют место дубли страниц. Ссылки закупаются на страницы вида http://site.ru/index.php?categoryID=XXX.
CMS Shopscript Premium
Подскажите как сделать редирект в htaccess с http://site.ru/?categoryID=XXX на http://site.ru/index.php?categoryID=XXX ???
На данный момент htaccess выглядит так:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
AddDefaultCharset WINDOWS-1251
Неужели никто не сталкивался с таким?
Redirect 301 /?categoryID=XXX /index.php?categoryID=XXX
---------- Добавлено 20.11.2013 в 20:44 ----------
или вот так:
RewriteRule ^?categoryID=([^/\.]+)?$ index.php?categoryID=$1 [L]
Redirect 301 /?categoryID=XXX /index.php?categoryID=XXX
Не помогло. Ответ сервера 200, как с /?categoryID=XXX, так и с /index.php?categoryID=XXX
---------- Добавлено 20.11.2013 в 22:49 ----------
RewriteEngine on
RewriteRule ^?categoryID=([^/\.]+)?$ index.php?categoryID=$1 [L]
Тоже не помогает, сайт сразу выдает ошибку 500 internal server error...
Добавить после RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^$ index.php [R=301,L]
если будут проблемы с потерей параметров при отправке какой-то формы на сайте, которая использует адрес без index.php, !^$ заменить на ^categoryID=
попробуйте так:
RewriteRule ^/$ /index.php?categoryID=$1 [R=301,L]
Добавить после RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^$ index.php [R=301,L]
если будут проблемы с потерей параметров при отправке какой-то формы на сайте, которая использует адрес без index.php, !^$ заменить на ^categoryID=
Очень похоже на правду)
Сервер отдает 301 редирект, но браузер редиректит на сл страницу:
http://site.ru/site.ru(технический домен)/index.php?categoryID=XXX
Подскажите, что нужно докрутить?
---------- Добавлено 21.11.2013 в 01:15 ----------
попробуйте так:
Так тоже не работает....
---------- Добавлено 21.11.2013 в 01:22 ----------
Добавить после RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^$ index.php [R=301,L]
если будут проблемы с потерей параметров при отправке какой-то формы на сайте, которая использует адрес без index.php, !^$ заменить на ^categoryID=
Сори, немного неправильно написал.
Редиректит во сюда:
http://site.ru/home/webmaster/www/vpsXXX.vps.tech-logol.ru/htdocs/index.php?categoryID=XXX
Подскажите, что нужно докрутить?
RewriteRule ^$ /index.php [R=301,L]
RewriteRule ^$ /index.php [R=301,L]
Супер! Все заработало:) Огромное спасибо!!!
---------- Добавлено 21.11.2013 в 13:49 ----------
Добавить после RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^$ index.php [R=301,L]
если будут проблемы с потерей параметров при отправке какой-то формы на сайте, которая использует адрес без index.php, !^$ заменить на ^categoryID=
Решил проверить как отрабатывают формы на сайте и обнаружил ошибку с формой "Есть вопрос по ..." в карточках товара. Туда вбивается "Имя", "Эл. почта", "Вопрос".
При нажатии кнопки "Ок" браузер перенаправлял на страницу http://site.ru/#inquiry и не отправлял вопрос на почту.
Но ошибку вызывал не ваш редирект, а который был ранее:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
Убрал его из htaccess и добавил в robots.txt - Disallow: /index.php$
Как вы думаете, это нормальный обход ошибки?