не работает переадресация .htaccess

(Ответов: 4, Просмотров: 717)
  1. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    Недавно поменял движок с самописа на joomla 3, установил чпу sh404 sef. После индексации заметил что проиндексировано несколько левых поддоменов, прописал в файле:

    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP_HOST} !^domain\.ru
    RewriteCond %{HTTP_HOST} !^ss\.domain\.ru [NC]
    RewriteRule (.*) http://domain.ru/$1 [R=301,L]

    но переадресация с ss.domain.ru не происходит, куда копать? что я не так делаю?
    • 0
  2. Опытный Аватар для WSairus
    • Регистрация: 25.01.2013
    • Сообщений: 334
    • Репутация: 71
    Создаете в корне поддомена .htaccess и пишите:
    Код:
    RewriteEngine On
    RedirectMatch 301 ^(.*)$ http://domain.ru/$1
    естественно поддомен должен быть создан. Он у Вас отвечает кодом 200? В настройках хостинга ничего не напутали?
    • 1

    Спасибо сказали:

    Maijin(17.04.2015),
  3. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    WSairus, я не создавал никаких поддоменов, по ссылкам на них открывается главный сайт, но адрес с поддоменом.
    • 0
  4. Опытный Аватар для WSairus
    • Регистрация: 25.01.2013
    • Сообщений: 334
    • Репутация: 71
    Maijin, попробуйте так:

    Код:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]
    RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]
    Восклицательный знак перед domain\.ru - означает "не совпадает". Т.е. в Вашем коде - Вы хотели оставить поддомен ss?

    Вообще проблема ИМХО в другом - если при обращении к серверу по subdomain.domain.ru у Вас отрабатывает скрипт из корня domain.ru - то сервер настроен криво.

    1) Это либо отсутствие секции для 'пустого server' в nginx, что приводит к тому, что все ошибочные запросы отправляются на "первый сайт на IP":

    Код:
    server {
    		server_name "";
    		listen XXX.XXX.XXX.XXX;
    		return 444;
    	}
    2) Либо разрешенные поддомены в httpd.
    3) Даже больше - у Вас в настройках DNS домена должна быть запись типа А со значением *, позволяющая преобразовывать любой поддомен на Ваш IP. Иначе бы IP для subdomain.domain.ru был не определен!

    *) Еще есть вариант - косяк в sh404 или других плагинах, однако до этого этапа даже не должно доходить. Если сервер настроен верно, то он не будет выполнять скрипт для поддомена которого физически нет.

    Сбросьте весь .htaccess из корня - посмотрим что там.
    • 1

    Спасибо сказали:

    Maijin(17.04.2015),
  5. Студент Аватар для Maijin
    • Регистрация: 28.09.2012
    • Сообщений: 96
    • Репутация: 13
    • Webmoney BL: ?
    WSairus, спасибо. с вашей конструкцией .htaccess все заработало. благодарю.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Циклическая переадресация WP
WordPress 3 12.11.2015 13:46
Правильная переадресация для конкретного адреса в htaccess. вопрос.
Хостинг и Серверы 1 21.10.2014 13:22
Переадресация с www на без
Вопросы от новичков 10 01.08.2013 11:51
htaccess.ru – правильная настройка файла .htaccess
Оценка ваших сайтов, блогов 4 23.01.2013 11:07
Циклическая переадресация
Общие вопросы поисковой оптимизации 5 09.04.2012 14:34

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры