как? Htaccess Авто поддомены с перенаправлением на файлы.

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Anton, 27 май 2013.

  1. Anton

    Anton ¯\_(ツ)_/¯

    Moderator
    Регистр.:
    28 авг 2007
    Сообщения:
    643
    Симпатии:
    636
    Как сделать при помощи Htaccess так, чтоб при обращением к поддомену отдавался нужный файл по его имени, а не папка? С условием что все нс записи и тд настроенно.

    То есть при обращении к 1.2.3.4.domain.com отдавался 1.2.3.4.html Каждый фай, поддомен.
    Все файлы в корне основного домена.


    Понятно можно сделать папку такую по названию и там индекс файл, но не вариант))


    С папками работает так
    Код:
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} !^(www\.)?domen\.ru$ [NC]
    RewriteCond %{HTTP_HOST}---%{REQUEST_URI} ^([^\.]+)\.domen\.ru---/([^/]+)? [NC]
    RewriteCond %1---%2 !^(.*)---\1$ [NC]
    RewriteCond %{DOCUMENT_ROOT}/%1/ -d
    RewriteRule ^(.*)?$ %1/$1 [QSA,PT]
     
  2. fcomp22

    fcomp22 Создатель

    Регистр.:
    22 фев 2013
    Сообщения:
    10
    Симпатии:
    6
    Код:
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} !^(www\.)?domen\.ru$ [NC]
    RewriteCond %{HTTP_HOST} ^([^\.]+)\.domen\.ru$ [NC]
    RewriteRule ^.*$ %1.html [L]
     
  3. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Если "итд" настроено так, что все поддомены смотрят в ту же директорию, (а не автоподдомены для каталогов) что и основной домен (т.е. при открытии blabla.domen.ru и domen.ru открывается один и тот же файл), то код почти как в примере выше

    Код:
    RewriteCond %{HTTP_HOST} !=www.domen.ru
    RewriteCond %{HTTP_HOST} ^(.*)\.domen\.ru$ [NC]
    RewriteRule .* %1.html [L]
    Если для www должен скачиваться www.html - первую строчку убрать.
    * вариант выше не возьмет 1.2.3.domain.ru
     
  4. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    объясните, пожалуйста, подробнее
    было:
    domen.ру - по сути это комплект ссылок на поддомены по регионам
    poddomen1.domen.ру - главная и poddomen1.domen.ру/page1х.html остальные
    по аналогии остальные поддомены - poddomen2.domen.ру/page2х.html (page1 и page2 не опечатка, названия внутренних страниц преобразуются sef-компонентом и на поддоменах не совпадают)

    Сейчас решил объединить всё в один портал и надо сделать переадресацию poddomen1.domen.ру/page1х.html ->> domen.ру/page1х.html
    Основной домен уже всё в себе объединил и поддомены пока болтаются, как копии разделов основного и, к сожалению, занимают более высокие позиции в выдаче, поэтому не хочу их просто отключать.
    не могу сообразить что написать в htaccess и где его разместить - в папке каждого поддомена или в в основном, а в остальных настроить 301 редирект на главный? И надо ли вносить ещё какие-то изменения в NS?