Общие вопросы Поддомены для городов, регионов и стран

Тема в разделе "Osclass", создана пользователем seo-partner, 27 фев 2020.

XEvil 4.0 Релиз Состоялся!
Модераторы: _kot
  1. seo-partner

    seo-partner

    Регистр.:
    12 янв 2008
    Сообщения:
    315
    Симпатии:
    151
    Всем привет

    Давно ищу решение: как настроить поддомены для городов, регионов и стран на osclass для vps. У кого получилось реализовать поддомены, напишите пожалуйста...
     
  2. SERGiON

    SERGiON Создатель

    Регистр.:
    12 июл 2013
    Сообщения:
    13
    Симпатии:
    8
    Привет. Попробуйте по этому мануалу.

    Опишу самый простой и доступный способ.
    1. DNS Wildcard.
    Создаём запись
    *.example.net. A 127.0.0.1 ( здесь IP на котором доска)
    Естественно вместо example.net Ваш реальный домен.

    2. Apache Wildcard
    <VirtualHost *:80>
    ServerName example.net
    ServerAlias *.example.net
    CustomLog /var/log/apache2/example.net_access_log combined
    ErrorLog /var/log/apache2/example.net_error_log
    <Directory /var/www/example.net/web>
    Options -Indexes FollowSymLinks -MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    </Directory>
    </VirtualHost>

    3. Меняем в config.php , запись содержащую 'WEB_PATH', на
    define('WEB_PATH', 'http://'.$_SERVER['HTTP_HOST'].'/путь к Osclass/');

    4. Настраиваем Cookies для всех субдоменов, в файле php.ini запись вида

    session.cookies_domain =

    меняем на

    session.cookies_domain = .domain.tld

    Примечание: разработчики планируют начиная с версии 3.3 использовать для этого сам Osclass, т.е достаточно будет использовать запись в config.php
    define('COOKIE_DOMAIN', '.domain.tld');

    5. Обновляем доску до версии 3.2.2

    6. Для того чтобы домены формировались на транслите. Необходимо во первых в файл /oc-includes/osclass/formating.php
    после
    function remove_accents($string) {
    if ( !preg_match('/[\x80-\xff]/', $string) )
    return $string;

    добавить

    if (is_utf8($string)) {
    $chars = array(
    "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
    "Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
    "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
    "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
    "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
    "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
    "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
    "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
    "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
    "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
    "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
    "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
    "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
    " "=> "_", "."=> "", "/"=> "_", "-" => "_");

    $string = strtr($string, $chars);
    }
    7. Затем идём в постоянные ссылки, и жмём сформировать.
    Для тех кто по каким либо причинам не хочет обновляться до 3.2.2, есть инструкция
    по внесению необходимых изменений в базу данных и файлы здесь.
     
    seo-partner и alexandr-rnd нравится это.