- Поисковые системы
 - Практика оптимизации
 - Трафик для сайтов
 - Монетизация сайтов
 - Сайтостроение
 - Социальный Маркетинг
 - Общение профессионалов
 - Биржа и продажа
- Финансовые объявления
 - Работа на постоянной основе
 - Сайты - покупка, продажа
 - Соцсети: страницы, группы, приложения
 - Сайты без доменов
 - Трафик, тизерная и баннерная реклама
 - Продажа, оценка, регистрация доменов
 - Ссылки - обмен, покупка, продажа
 - Программы и скрипты
 - Размещение статей
 - Инфопродукты
 - Прочие цифровые товары
 
 - Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
 - Ведение рекламных кампаний
 - Услуги в области SMM
 - Программирование
 - Администрирование серверов и сайтов
 - Прокси, ВПН, анонимайзеры, IP
 - Платное обучение, вебинары
 - Регистрация в каталогах
 - Копирайтинг, переводы
 - Дизайн
 - Usability: консультации и аудит
 - Изготовление сайтов
 - Наполнение сайтов
 - Прочие услуги
 
 - Не про работу
 
        Что делать, если ваша email-рассылка попала в спам
          10 распространенных причин и решений
        
        
            Екатерина Ткаченко
          
            
          
        
      Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
                
            
        
Здравствуйте, форумчане.
Яндекс по части запросов показывает site.ru , по другим site.ru/index.php
Срочка в htaccess
RewriteRule index.php http://site.ru/ [R=301,L]
приводит к тому, что страницы
http://site.ru/index.php?cat=3
начинают открываться по адресу
http://site.ru/?cat=3
то есть это совершенно другие адреса, не те, по которым проиндексирован сайт
ВОПРОС:
Как правильно написать в htaccess, чтобы перенаправлялся только index.php, а
index.php?cat=3
остались как были?
PS
еще есть вариант написать в robots строчку
Disallow: /index.php
но на такое почему-то рука не поднимается, хочется редиректом вопрос решить.
Почему у вас рука не поднимается на то, что бы написать Disallow: /index.php ?
Это стандартная ситуация, так многие делают...
Почему у вас рука не поднимается на то, что бы написать Disallow: /index.php ?
Это стандартная ситуация, так многие делают...
А яндекс также перестанет индексировать и все страницы вроде
index.php?cat=3
alehvx добавил 20.10.2011 в 09:20
если так делать, то вернее написать
Disallow: /index.php$
- c $ на конце
Как то так:
(php|html|htm) - перечисление расширений.
Как то так:
(php|html|htm) - перечисление расширений.
тогда если только index.php нужен, то будет так, верно?
RewriteEngine On
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$1 / [L,R=301]
alehvx добавил 20.10.2011 в 09:44
Как то так:
(php|html|htm) - перечисление расширений.
а не работает, нет вообще эффекта ...
RewriteCond %{QUERY_STRING} !.+
RewriteRule ^index.php / [R=301,L]
Важна позиция этого блока в файле. Попробуйте поставить вначале, или покажите весь файл
тогда если только index.php нужен, то будет так, верно?
RewriteEngine On
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$1 / [L,R=301]
alehvx добавил 20.10.2011 в 09:44
а не работает, нет вообще эффекта ...
Потому что неправильно, нужно так:
RewriteCond %{THE_REQUEST} index\.(php)
RewriteRule ^index\.(php)$1 / [L,R=301]
Проверил у себя, все работает.
Важна позиция этого блока в файле. Попробуйте поставить вначале, или покажите весь файл
вставил сразу после
AddDefaultCharset utf-8
RewriteEngine On
RewriteBase /
Исходный файл целиком вот:
#####################################
# ShopOS: Shopping Cart Software.
# Copyright (c) 2008-2010
# http://www.shopos.ru
# http://www.shoposs.com
# Ver. 2.5.4
#####################################
AddDefaultCharset utf-8
RewriteEngine On
RewriteBase /
RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L]
RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L]
RewriteRule ^product_info\.php\/info\/p(.*)_.*\/action\/add_product product_info\.php\?products_id=$1\&action=add_product\ [L]
RewriteRule ^shopping_cart\.php\/products_id\/([0-9]*)\/info\/p([0-9]*)_.*\.html shopping_cart\.php\?products_id=$1 [L]
RewriteRule ^(product_info|index|shop_content).php(.*)$ redirector.php [L]
RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.js$ - [L]
RewriteRule ^(.*).html(.*)$ manager.php [L]
RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.php|\.js$ - [L]
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
</IfModule>
Важна позиция этого блока в файле. Попробуйте поставить вначале, или покажите весь файл
Все правильно, а то непонятно, что и куда вставляет ТС.
Заливаю этот файл - то же что и было ...
#####################################
# ShopOS: Shopping Cart Software.
# Copyright (c) 2008-2010
# http://www.shopos.ru
# http://www.shoposs.com
# Ver. 2.5.4
#####################################
AddDefaultCharset utf-8
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} index\.(php)
RewriteRule ^index\.(php)$1 / [L,R=301]
RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L]
RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L]
RewriteRule ^product_info\.php\/info\/p(.*)_.*\/action\/add_product product_info\.php\?products_id=$1\&action=add_product\ [L]
RewriteRule ^shopping_cart\.php\/products_id\/([0-9]*)\/info\/p([0-9]*)_.*\.html shopping_cart\.php\?products_id=$1 [L]
RewriteRule ^(product_info|index|shop_content).php(.*)$ redirector.php [L]
RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.js$ - [L]
RewriteRule ^(.*).html(.*)$ manager.php [L]
RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.php|\.js$ - [L]
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation 0
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
</IfModule>
alehvx добавил 20.10.2011 в 10:13
Все правильно, а то непонятно, что и куда вставляет ТС.
пишу в самом начале файла, после
AddDefaultCharset utf-8
RewriteEngine On
RewriteBase /
alehvx, вставьте тот код, что я написал