Как создать динамичный поддомен на Joomla, если сам сайт статичен и избежать при этом дублей? Авторизация joomla на поддомене


Кроссдоменная авторизация на Joomla 3

Или единая авторизация на сайте.Поставлена задача:— имеется два независимых joomla сайта с одной БД, но разными префиксами. Вы заходите на сайт site1.ru и авторизуетесь на нем, потом переходите на другой поддомен этого сайта example.site1.ru, и там вы автоматически являетесь авторизованными.

Получается нам необходимо с главного сайта site1.ru объединить в БД таблицы сессии и юзеров.

Из всех готовых решений, а их раз-два и обчелся нашёл одно рабочее, с использованием платного расширения MightySites (на варезниках можно найти бесплатно или напишите мне в личку). И так рассмотрим его.

1. Заходим в админку поддомена example.site1.ru и устанавливаем расширение MightySites.2. Включаем два установленных плагина:— System — MightySites single login/logout— System — MightySites

3. Заходим в компонент MightySites и видим наш сайт example.site1.ru. Нажимаем кнопку Создать.

4. Вводим название основного сайта site1.ru и переходим к следующей вкладке Database.

5. Подключаем базу site1.ru, вводим Имя БД, Префикс, Пользователя и Пароль (если есть) и нажимаем кнопку Сохранить.

6. Далее переходим во вкладку Single Login/Logout и включаем переключатель Single Login на Да.

В таблице Sites в поле Domain пишем example.site1.ru, а в поле Secret Key пишем соответственно его ключ (его нужно взять из вкладки Advanced сайта example.site1.ru) и нажать Сохранить и закрыть.как?

  1. Переходим на главную страницу компонента MightySites (можно в новой вкладке), нажимаем на сайт example.site1.ru.
  1. Переходим во вкладку Advanced копируем Secret Key и вставляем его куда написано выше.

7. Переходим на главную страницу компонента MightySites, нажимаем на сайт example.site1.ru и повторяем пункт 6. касаемо этого сайта. Переключаем переключатель. В поле Sites пишем site1.ru а в Secret Key его ключ. Должно получиться так:

8. Переходимо во вкладку Data Sources, включаем выключатель Data Overload на Включено. Далее, в столбце Database Tables, нажимаем на кнопку *Display Tables*.

После чего выбираем site1.ru в следующих таблицах:#__session#__user_keys#__user_notes#__user_profiles#__user_usergroup_map#__usergroups#__users

Должно получиться так:

9. В обоих сайтах во вкладке Advanced, в поле Cookie Domain пишем .site1.ru.

10. Последний пункт. Заходим в админку двух сайтов и переходим в Общие настройки. Далее, заполняем Настройки Cookie, следующим образом:Cookie домена: .site1.ruПуть для Cookie: /

собственно всё, проверяем. Если всё сложно и не получается настроить, по вашим просьбам могу снять видео, как это всё настроить.

salkstudio.ru

Как создать динамичный поддомен на Joomla, если сам сайт статичен и избежать при этом дублей?

  • ##файл .htaccess для Joomla. Создан на сайте http://max-joomla.ru

  •  

  • ##Может быть закомментировано, если вызывает ошибку сервера. Возможность использовать

  • ##символические ссылки на каталоги или файлы, которые не находятся в пределах корня

  • ##вашего сайта. Запрет на листинг каталогов.

  • Options +FollowSymLinks -Indexes

  • ##

  •  

  • ## Кодировка по умолчанию

  • AddDefaultCharset utf-8

  • ##

  •  

  •  

  • ## Включение модуля mod_rewrite

  • <IfModule mod_rewrite.c>

  • RewriteEngine On

  • ##

  •  

  • ##Корневая директория - начало

  • RewriteBase /

  • ##Корневая директория конец

  •  

  • ##Редирект с index.php на / - начало

  • RewriteCond %{THE_REQUEST} !^POST

  • RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

  • RewriteCond %{SERVER_PORT}>s ^(443>(s)|[0-9]+>s)$

  • RewriteRule ^index\.php$ http%2://vash-sayt.com/ [R=301,L]

  • ##Редирект с index.php на / - конец

  •  

  •  

  • ##Редирект с www на без www - начало

  • RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]

  • RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • ##Редирект с www на без www - конец

  •  

  •  

  • </IfModule>

  • ## Конец модуля mod_rewrite

  •  

  •  

  • ##Индексная страница

  • DirectoryIndex index.php

  • ##

  •  

  •  

  • ## Настройки хостинга - начало

  • <ifModule mod_php.c>

  • php_value register_globals 0

  • php_value safe_mode 0

  • php_value allow_url_fopen 0

  • php_value display_errors 0

  • php_value file_uploads 1

  • php_value magic_quotes_gpc 1

  • php_value magic_quotes_runtime 0

  • php_value upload_max_filesize 20M

  • php_value post_max_size 10M

  • php_value max_execution_time 100

  • php_flag register_globals Off

  • php_flag display_errors Off

  • php_flag file_uploads On

  • php_flag allow_url_fopen off

  • php_flag magic_quotes_gpc On

  • php_flag magic_quotes_runtime Off

  • </ifModule>

  • ## Настройки хостинга - конец

  •  

  •  

  • ## Правила обработки запросов для блокировки распространенных эксплоитов - начало

  • RewriteCond %{QUERY_STRING} proc/self/environ [OR]

  • RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

  • RewriteCond %{QUERY_STRING} base64_(en|de)code\(.*\) [OR]

  • RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

  • RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

  • RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

  • RewriteRule .* index.php [F]

  • ## Правила обработки запросов для блокировки распространенных эксплоитов - конец

  •  

  •  

  • ##Блокировка прямого доступа к ядру - начало

  • RewriteCond %{REQUEST_FILENAME} -f

  • RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC]

  • RewriteCond %{REQUEST_URI} \/components\/ [OR]

  • RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR]

  • RewriteCond %{REQUEST_URI} \/language\/ [OR]

  • RewriteCond %{REQUEST_URI} \/libraries\/ [OR]

  • RewriteCond %{REQUEST_URI} \/modules\/ [OR]

  • RewriteCond %{REQUEST_URI} \/plugins\/ [OR]

  • RewriteCond %{REQUEST_URI} \/templates\/ [OR]

  • RewriteCond %{REQUEST_URI} \/cli\/

  • RewriteRule ^(.*)$ index.php [R=404,L]

  • ##Блокировка прямого доступа к ядру - конец

  •  

  •  

  • ##Блокировка MySQL инъекций - начало

  • RewriteCond %{query_string} concat.*\( [NC,OR]

  • RewriteCond %{query_string} union.*select.*\( [NC,OR]

  • RewriteCond %{query_string} union.*all.*select [NC]

  • RewriteRule ^(.*)$ index.php [F,L]

  • ##Блокировка MySQL инъекций - конец

  •  

  •  

  • ##Блокировка файловых инъекций - начало

  • RewriteCond %{REQUEST_METHOD} GET

  • RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]

  • RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]

  • RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]

  • RewriteRule .* - [F]

  • ##Блокировка файловых инъекций -конец

  •  

  •  

  • ## Запретит доступа к htaccess.txt, configuration.php и php.ini

  • RewriteRule ^(htaccess\.txt|configuration\.php-dist|php\.ini)$ - [F]

  • ##

  •  

  •  

  • ## Раздел SEF ядра Joomla - начало

  • RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

  • RewriteCond %{REQUEST_URI} !^/index\.php

  • RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|raw|ini|zip|json|file|vcf))$ [NC]

  • RewriteCond %{REQUEST_FILENAME} !-f

  • RewriteCond %{REQUEST_FILENAME} !-d

  • RewriteRule .* index.php [L]

  • ##Раздел SEF ядра Joomla - конец

  •  

  •  

  • ##Ускорение загрузки сайта

  •  

  •  

  • ##Gzip сжатие с помощью модуля mod_deflate - начало

  • <ifModule mod_deflate.c>

  • AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

  • </ifModule>

  • ##Gzip сжатие с помощью модуля mod_deflate - конец

  •  

  •  

  • ##Gzip сжатие с помощью модуля mod_gzip - начало

  • <IfModule mod_gzip.c>

  • mod_gzip_on Yes

  • mod_gzip_dechunk Yes

  • mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

  • mod_gzip_item_include mime ^text\.*

  • mod_gzip_item_include mime ^application/x-javascript.*

  • mod_gzip_item_include mime ^application/x-font-woff.*

  • mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

  • </IfModule>

  • ##Gzip сжатие с помощью модуля mod_gzip - конец

  •  

  •  

  • ##Кэширование с помощью модуля mod_headers - начало

  • <ifModule mod_headers.c>

  • #кэшировать HTML и htm файлы на один день

  • <FilesMatch "\.(html|htm)$">

  • Header set Cache-Control "max-age=43200"

  • </FilesMatch>

  • #кэшировать CSS, javascript и текстовые файлы на одну неделю

  • <FilesMatch "\.(js|css|txt)$">

  • Header set Cache-Control "max-age=604800"

  • </FilesMatch>

  • #кэшировать Flash и изображения на месяц

  • <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">

  • Header set Cache-Control "max-age=2592000"

  • </FilesMatch>

  • #отключить кэширование

  • <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">

  • Header unset Cache-Control

  • </FilesMatch>

  • </IfModule>

  • ##Кэширование с помощью модуля mod_headers - конец

  •  

  •  

  • ##Кэширование с помощью модуля mod_expires - начало

  • <ifModule mod_expires.c>

  • ExpiresActive On

  • #по умолчанию кеш в 5 секунд

  • ExpiresDefault "access plus 5 seconds"

  • #кэшировать Flash и изображения на месяц

  • ExpiresByType image/x-icon "access plus 2592000 seconds"

  • ExpiresByType image/jpeg "access plus 2592000 seconds"

  • ExpiresByType image/png "access plus 2592000 seconds"

  • ExpiresByType image/gif "access plus 2592000 seconds"

  • ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"

  • #кэшировать CSS, javascript и текстовые файлы на одну неделю

  • ExpiresByType text/css "access plus 604800 seconds"

  • ExpiresByType text/javascript "access plus 604800 seconds"

  • ExpiresByType application/javascript "access plus 604800 seconds"

  • ExpiresByType application/x-javascript "access plus 604800 seconds"

  • #кэшировать HTML и htm файлы на один день

  • ExpiresByType text/html "access plus 43200 seconds"

  • #кэшировать XML файлы на десять минут

  • ExpiresByType application/xhtml+xml "access plus 600 seconds"

  • </ifModule>

  • ##Кэширование с помощью модуля mod_expires - конец

  • joomla-support.ru

    Главная страница сайта - белый экран, в тоже время админка и другие сайты (на поддомене) отображаютс

  • 238

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 228

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id239

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 212

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id240

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 152

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id241

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 227

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id242

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 220

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id243

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 264

  •  ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id244

  • SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub

  •  FROM jos_content AS i

  •  LEFT JOIN jos_sections AS s ON i.sectionid = s.id

  •  LEFT JOIN jos_menu AS ms ON ms.componentid = s.id

  •  LEFT JOIN jos_categories AS c ON i.catid = c.id

  •  LEFT JOIN jos_menu AS mc ON mc.componentid = c.id

  •  WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) )

  •  AND i.id = 263

  • joomla-support.ru

    Есть сайт, необходимо сделать второй в поддомене

    Ответ: Есть сайт, необходимо сделать второй в поддомене

    Здравствуйте. Я перерыл весь интернет для решения похожей проблемы: сделать в поддомене отдельный сайт, но чтобы управление было от одной инсталяции Джумлы. Нашел решение, но проблема в том, что не понял его. Может, кто расшифрует, куда вставлять эти коды. В программировании я ноль

    Вот решение (отсюда: http://forum.joom.ru/index.php?topic=3048.0)

    Re: Поддомен на сайте « Ответ #3 : 29.06.2006, 17:54:01 »

    Нее.. Подмигивающий Не надо ковырять код. Все решается стандартными юниксовыми средствами. Средствами Вантуза тоже решается, но сложнее... Итак: Допустим, основной домен здесь: /path/main_domain /path/another_domain поддомен здесь Допустим, шаблон основного сайта - templ1, а для дополнительного - templ2. Поехали: ---------------------------------------------------- Вместо полного копирования сайта, создать символические ссылки и получить сайт 1 в 1 как в основном домене. Код:

    ln -s /path/main_domain/* /path/another_domain/

    Удалить конфиг (символическую ссылку) в поддомене, скопировать конфиг в поддомен. Код:

    rm /path/another_domain/configuration.php cp /path/main_domain/configuration.php /path/another_domain/

    Отредактировать соответствующим образом переменные "$mosConfig_absolute_path" и "$mosConfig_live_site" Код:

    vi /path/another_domain/configuration.php

    Удалить каталог (символическую ссылку) с шаблонами в поддомене и создать реальный каталог. Код:

    rm -f -d -r /path/another_domain/templates mkdir /path/another_domain/templates

    Создать символическую ссылку на templ2 с именем templ1 Код:

    ls -s /path/main_domain/templates/templ2 /path/another_domain/templates/templ1

    Либо скопировать templ2 с именем templ1 в дополнительный сайт: Код:

    cp -r /path/main_domain/templates/templ2 /path/another_domain/templates/templ1

    ---------------------------------------------------- В итоге: Обращась к поддомену, мы, по сути, обращаемся к основному домену и используем основной шаблон, вместо которого "подсовываем" другой.

    Другое меню, в свежесозданном поддомене с другим дизайном: - создайте новый раздел - создайте нужное меню - "свяжите" новый раздел с новым меню. - в каталоге нового сайта в .htacess пропишите редирект первой страницы на первую страницу нового раздела (ищите в интернете сами, как это делается(я на вскидку не скажу...)).

    Вот и получился новый сайт с новым дизайном и новым меню. Дальше всплывут еще косяки, но все так или иначе решаемо.

     

    joomla-support.ru


    Prostoy-Site | Все права защищены © 2018 | Карта сайта