Автоматические субдомена

Настройка и администрирование веб-серверов.
Ответить
Alex_r
Сообщения: 0
Зарегистрирован: 31 июл 2015, 14:50

31 июл 2015, 14:51

Всем привет. Перелопатил кучу мануалов, пообщался с техподдержкой, в итоге имею некоторое представление, но все же нужна ваша помощь в доведении кода .htaccess до ума.

Размещаюсь на виртуальном сервере - http://freehost.com.ua/. Вот что они пишут для автоматических субдоменов - http://freehost.com.ua/faq/faq/kak-akti ... ubdomenov/. Т.е. все папки в корне главного домена становятся субдоменами - бред! Техподдержка подсказала, что можно в корне создать папку subdomains и в ней уже добавлять подпапки, они и будут субдоменами. Вариант тот что нужен, вот их исправленный вариант кода .htaccess.

Код: Выделить всё

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]

RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^([^.]*)\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdomains
RewriteRule ^(.*)$ /subdomains/%1/$1 [QSA,L]
Покажу теперь мой .htaccess лежащий в корне главного домена.

Код: Выделить всё

#Устанавливаем кодировку сайта
AddDefaultCharset utf-8

#Переадресации при разных ошибках
ErrorDocument 403 http://example.com/
ErrorDocument 404 http://example.com/

#Скрываем содержимое папок
Options All -Indexes

#Включаем преобразование ссылок
RewriteEngine on

#Склеиваем www с основным доменом
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

#Склеиваем index.php с доменом
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]

#Принудительная подстановка замыкающего слеша
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

#Ловим переменные из урл
RewriteRule ^(.*)(\/|\.html)$ index.php?data=$1&last=$2 [L,QSA]
Как теперь корректно объединить 2 куска кода, дабы все работало без ошибок? Может мой код и код техподдержки не совсем корректен, то прошу исправить. Спасибо.
Ответить