Проблема с редиректом - "?q="

Автор sangrishin, 26-03-2012, 08:57:04

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

sangrishinTopic starter

Добрый день.
У меня появилась проблемка с сайтом, но не могу понять когда, т.к. его редактируют пару человек и теперь не найти концов.
Смысл такой:
У меня появилось в адресах сайта - ?q=
Вот на главную когда попадаешь, то нормально...а на все остальные страницы дописывается - "?q="
Вот пример - http://karapyzoff.ru/?q=detskie-kovriki.php
Как я понял это все дело изза строчки в htacces - RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Но я не могу понять почему она вдруг стала работать, хотя на всех остальных моих сайтах она тоже прописана.
Ну и главное - как может эту строчку отредактировать, чтобы ничего не менялось.
Сайт почти весь переиндексировался с этой "?q="  но все же убрать хотелось бы.
  •  


Detrimon

По-моему вопрос немного не в ту ветку задан и вообще имеет ли этот вопрос отношение к продвижению (ну разве что косвенное.. ).

Если вы хотите убрать ?q=..., то я думаю нужно задавать вопрос либо вашим веб-разработчикам, либо если разработчики не знают, то они должны выяснить, как это сделать на форуме движка, на котором висит ваш сайт..

  •  


sangrishinTopic starter

На продвижение это как раз и может отразится. Пока не знаю как яндекс на все это отнесется.
По идеи  если куплены ссылки на страницу - http://karapyzoff.ru/nevalyashki.php - а она с помощью редиректа (в данном случае какой то ерунды), перекидывает на - http://karapyzoff.ru/?q=nevalyashki.php - как может отразится все это на позиции?
Если яндексу все равно, то можно и оставить так.
  •  

Ametist

#3
Цитата: sangrishin от 26-03-2012, 08:57:04RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Именно это и вызывает отображение ?q=
получается, что все страницы сайта вы перенаправляете на index.php?q=
Прочтите вот тут (хоть и для Друпала, но близко к вашему вопросу  drupal.ru/node/2643)
Либо изменять редирект, либо прописывать дополнительно, чтобы ?q=  не отображался в урле



alexventpro

Цитата: sangrishin от 26-03-2012, 08:57:04
Добрый день.
У меня появилась проблемка с сайтом, но не могу понять когда, т.к. его редактируют пару человек и теперь не найти концов.
Смысл такой:
У меня появилось в адресах сайта - ?q=
Вот на главную когда попадаешь, то нормально...а на все остальные страницы дописывается - "?q="
Вот пример - http://karapyzoff.ru/?q=detskie-kovriki.php
Как я понял это все дело изза строчки в htacces - RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Но я не могу понять почему она вдруг стала работать, хотя на всех остальных моих сайтах она тоже прописана.
Ну и главное - как может эту строчку отредактировать, чтобы ничего не менялось.
Сайт почти весь переиндексировался с этой "?q="  но все же убрать хотелось бы.
У меня в htacces редирект сделан так:

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

Т.е. Все возможные варианты переадресовывать на Вентпрострой без www. Движок у меня oscommerce, если для вашего движка это подойдет то пере делайте так, но сначала выясните подойдет или нет у своих программеров.  И еще в приведенной вами строчке нигде не фигурирует что склейка идет 301 редиректом
http://www.mega-svadba.ru - Свадебный фотограф Шеметьев Алексей
  •  


web

#5
Цитата: sangrishin от 26-03-2012, 09:55:26
Если яндексу все равно, то можно и оставить так.

Разве всё равно?
Введите в строке запроса Яндекса site:karapyzoff.ru
И вы увидите в  выдаче, например, такие дублирующие url:
karapyzoff.ru/muzicalnie-igruski.php
и
karapyzoff.ru/?q=muzicalnie-igruski.php



Добавлено: 26-03-2012, 12:39:44


Это что-то с ЧПУ, попробуйте дописать "?", но я не программист, и гарантировать, что это сработает, не могу, если что-то будет не так, вернёте всё к прежнему виду.
RewriteRule ^(.*)?$ index.php?q=$1

В выдаче появились урлы с q= и без него, потому, что не указан 301 редирект, а по умолчанию выполняется 302, + в роботсе нет запретов, поэтому в выдаче Яндекса оба варианта.

sangrishinTopic starter

Дублей вроде нет. Я по крайне мере не заметил. Там есть похожие просто:
karapyzoff.ru›?q=muzicalnie-igruski.php
karapyzoff.ru›muzikalnie-igri.php

Вот мой файл:
# For full documentation and other suggested options, please see
# http://svn.modxcms.com/docs/display/MODx096/Friendly+URL+Solutions
# including for unexpected logouts in multi-server/cloud environments
# and especially for the first three commented out rules

#php_flag register_globals Off
#AddDefaultCharset utf-8
#php_value date.timezone Europe/Moscow

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
RewriteRule ^main\.php$ / [R=301,L]
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^karapyzoff\.ru [NC]
RewriteRule (.*) http://karapyzoff.ru/$1 [R=301,L]

# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]  - вот не пойму почему вдруг это заработало.....

# Reduce server overhead by enabling output compression if supported.
#php_flag zlib.output_compression On
#php_value zlib.output_compression_level 5
  •  

web

#7
Дубли есть, у меня они показались на 7 и на 10 позиции, после того, как я ввёл запрос с "site"
7) ...?q=muzicalnie-igruski.php
10) ...muzicalnie-igruski.php

Добавлено: 26-03-2012, 12:48:28


Если дописать "?", проблема не решится? (смотрите предыдущий мой ответ).

Добавлено: 26-03-2012, 12:56:24


Посмотрите выдачу Гугла и Яндекса по запросу с site, у первого в выдаче 6 820, у второго 3540 страниц, явно, есть дубли, связаны они с «q=», или нет – не смотрел, но дубли нужно устранять.


sangrishinTopic starter

#8
Все больше и больше убеждаюсь..кривые руки - страшнее динамита.
Спасибо за советы.
Жаль пока не найти в чем проблема.

Добавлено: 26-03-2012, 13:21:02


Ура. Все нашел проблему.
Я неделе три назад заметил что у нас дубль главной - index
main - я уже давно сделал, а вот про индекс забыл. Друг заменил и все...и вот итог.. - "?q="
RewriteRule ^main\.php$ / [R=301,L]
RewriteRule ^index\.php$ / [R=301,L] - эту строчку удалил и все заработало как нужно.

Вот теперь думаю как грамотно - index - сделать редирект
  •  


web

А как дубли из индекса будете убирать, предыдущим действием вы их туда загнали, теперь они в выдаче есть.

Введите в строке браузера (не в строке запроса ПС), например, эти адреса:

http://karapyzoff.ru/?q=golovolomki.php
http://karapyzoff.ru/golovolomki.php

Уба адреса есть, и не редиректятся на нужный из них.

Можете в роботсе дописать:

Disallow: /*?q=

Чтобы запретить ПС индексировать адреса с «?q=».

Даже, если сейчас некоторых адресов нет в индексе, «добрые люди» могут их добавить через адурилку ПС, или проставить ссылки на ваш сайт с «?q=», поэтому, лучше закрыть их, хотя бы, в роботсе.