• Создал дополнительный сайт на поддомене, по сути он является точной копией главного сайта, но только переведен на английский язык, так вот на сайт зайти могу, а вот когда пытаюсь войти в администраторскую часть, то меня автоматически перебрасывает в АЧ главного сайта. Я поменял настройки wp.config.php изменил бд и все остальное и в самой бд в таблице users изменил users_url на нужное, что ещё нужно поменять что-б меня не перебрасывало?

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • по сути он является точной копией главного сайта, но только переведен на английский язык,

    Вообще по-нормальному мультиязычность делается с пом плагинов.

    Я поменял настройки wp.config.php изменил бд и все остальное и в самой бд в таблице users изменил users_url на нужное, что ещё нужно поменять что-б меня не перебрасывало?

    Видимо не всё.
    У Вас на поддомене совершено другой сайт, не имеющий к первому никакого отношения (с тех. т.з.) Отсюда и исходите.
    Однако есть нюанс. Корень поддомена должен быть вне каталога основного домена.

    каким образом это осуществить, если у меня есть папка example.com, a в ней под-папка «en», которая является поддоменом, то есть мне нужно ее переместить на один уровень с example.com, но с названием en.example.com? кстати такую структуру поддомена создал спринтхост, а не я

    с плагинами я уже пробовал, стояли и qtranslate и polylang, но они все работали не корректно из-за того что ссылки в меню были в виде обычного html — кода все эти плагины при выборе одного языка и при переходе на другую страницу перекидывали меня на дефолтный язык. Было принято много мер, но за короткие сроки которые мне дают, я другого варианта кроме как самого глупого не вижу…

    ссылки в меню пишутся таким образом если через админку
    <!--:ru-->ссылка на русский<!--:--><!--:es-->В данном случае искпнский<!--:-->
    а если через сам шаблон то так

    <?php if(get_locale() == 'ru_RU') { ?>
    Текст на русском
    <?php } else { ?>
    текст на другом языке
    <?php } ?>

    Именно так я все и делал, все переводилось — я не спорю, но когда я пытаюсь перейти на другую страницу то меня перебрасывает на дефолтный язык, нашел выход с удалением таблицы posts в БД, когда она пустая то все работает корректно, но проблема в том что сайт уже запущен и БД уже забита, так что такой вариант не прошел

    кстати такую структуру поддомена создал спринтхост, а не я

    Вероятно, Вы так указали при создании поддомена.
    Проблема в том, что в корне главного домена хтацесс будет (возможно?) действовать и на поддомен.

    с плагинами я уже пробовал, стояли и qtranslate и polylang, но они все работали не корректно

    Они-то работают корректно, а вот Вы не разобрались как с ними работать. Или Вы думаете что у Вас уникальная задача, и тысячи их пользователей ссылок не вставили?

    но проблема в том что сайт уже запущен и БД уже забита, так что такой вариант не прошел

    Вам же Юрий рассказал что нужно делать.

    в том то и дело что, я последовал совету Юрия и сделал точно так-же, но проблема осталась та же, я переходил на нужный мне язык, но он каждый раз сбивается…я же говорю что я все перевел и все работает, но когда переходишь на другую страницу то заново нужно переключать язык, я искал причины проблем, но не нашел подходящего решения, в основном у всех была проблема только с главной страницы, то есть её надпись сбивалась при переходе на другую страницу, но этот случай был для стандартных тем либо сделанных по их принципу…так что я не имел ввиду что установленные мною плагины были не рабочие, просто не с мог решить проблему из-за, возможно отсутствия опыта в этих делах…поэтому решил поступить по другому…

    SeVlad Подскажите пожалуйста как верно настроить .htaccess, вот от поддомена

    Options -Indexes
    DirectoryIndex index.html index.php /index.php
    
    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule .* - [L]
    
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
    RewriteCond %{HTTP_REFERER} !^http://en.your-happy-life.com.*$ [NC]
    RewriteRule \.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]
    
    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
    RewriteCond %{HTTP_HOST} ^$
    RewriteRule .* - [F,NS,L]
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    а это от домена

    Options -Indexes
    DirectoryIndex index.html index.php /index.php
    
    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule .* - [L]
    
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
    RewriteCond %{HTTP_REFERER} !^http://your-happy-life.com.*$ [NC]
    RewriteRule \.(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]
    
    RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
    RewriteCond %{HTTP_HOST} ^$
    RewriteRule .* - [F,NS,L]
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    но когда переходишь на другую страницу то заново нужно переключать язык,

    Ещё раз — Вам просто надо было разобраться с плагином. Он работает правильно.

    Подскажите пожалуйста как верно настроить .htaccess,

    Вот тут пример правильного хтацесса.

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «Поддомен на WP» закрыта для новых ответов.