Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Автоматические субдомена
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Автоматические субдомена

Страниц (1): [1]
 

1. Alex_r - 31 Июля, 2015 - 14:29:29 - перейти к сообщению
Всем привет. Перелопатил кучу мануалов, пообщался с техподдержкой, в итоге имею некоторое представление, но все же нужна ваша помощь в доведении кода .htaccess до ума.

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

CODE (text):
скопировать код в буфер обмена
  1. RewriteEngine On
  2. RewriteCond %{ENV:REDIRECT_STATUS} !^$
  3. RewriteRule .* - [L]
  4.  
  5. RewriteCond %{HTTP_HOST} !^www\.example\.com$
  6. RewriteCond %{HTTP_HOST} ^([^.]*)\.example\.com$
  7. RewriteCond %{REQUEST_URI} !^/subdomains
  8. RewriteRule ^(.*)$ /subdomains/%1/$1 [QSA,L]

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

CODE (text):
скопировать код в буфер обмена
  1. #Устанавливаем кодировку сайта
  2. AddDefaultCharset utf-8
  3.  
  4. #Переадресации при разных ошибках
  5. ErrorDocument 403 http://example.com/
  6. ErrorDocument 404 http://example.com/
  7.  
  8. #Скрываем содержимое папок
  9. Options All -Indexes
  10.  
  11. #Включаем преобразование ссылок
  12. RewriteEngine on
  13.  
  14. #Склеиваем www с основным доменом
  15. RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
  16. RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
  17.  
  18. #Склеиваем index.php с доменом
  19. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
  20. RewriteRule ^index\.php$ / [R=301,L]
  21.  
  22. #Принудительная подстановка замыкающего слеша
  23. RewriteCond %{REQUEST_URI} /+[^\.]+$
  24. RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
  25.  
  26. #Ловим переменные из урл
  27. RewriteRule ^(.*)(\/|\.html)$ index.php?data=$1&last=$2 [L,QSA]

Как теперь корректно объединить 2 куска кода, дабы все работало без ошибок? Может мой код и код техподдержки не совсем корректен, то прошу исправить. Спасибо.

 

Powered by ExBB FM 1.0 RC1