Alex_r » 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 куска кода, дабы все работало без ошибок? Может мой код и код техподдержки не совсем корректен, то прошу исправить. Спасибо.
Всем привет. Перелопатил кучу мануалов, пообщался с техподдержкой, в итоге имею некоторое представление, но все же нужна ваша помощь в доведении кода [b].htaccess[/b] до ума.
Размещаюсь на виртуальном сервере - [url]http://freehost.com.ua/[/url]. Вот что они пишут для автоматических субдоменов - [url]http://freehost.com.ua/faq/faq/kak-aktivirovat-optsiyu-neogranichennoe-kolichestvo-subdomenov/[/url]. Т.е. все папки в корне главного домена становятся субдоменами - бред! Техподдержка подсказала, что можно в корне создать папку [b]subdomains[/b] и в ней уже добавлять подпапки, они и будут субдоменами. Вариант тот что нужен, вот их исправленный вариант кода [b].htaccess[/b].
[code]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][/code]
Покажу теперь мой [b].htaccess[/b] лежащий в корне главного домена.
[code]#Устанавливаем кодировку сайта
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][/code]
Как теперь корректно объединить 2 куска кода, дабы все работало без ошибок? Может мой код и код техподдержки не совсем корректен, то прошу исправить. Спасибо.