поддомен->каталог=mod_rewrite

LePReZeNT
На сайте с 29.04.2005
Offline
121
1820

Здравствуйте, товарищи!

Хотел задать вопрос спецам по mod_rewrite:

а можно ли задать правило в .htaccess следуя которому каталог site.ru/forum имел и адрес forum.site.ru (поддомен заранее создадим в настройках сервера, и он будет иметь в A записи IP виртуального хоста, но не будем присваивать ему домашний каталог)?

Возможно ли такое вообще осуществить? Просто купил на ht-systems.ru (бывший 310.ru) хостинг, а у них бесплатные поддомены только для одного домена можно создавать, а для дополнительных доменов (всего есть возможность создавать до 8 сайтов=доменов) поддомены платные:(

Распродажа старых доменов в ЯК (/ru/forum/913767)
nickspring
На сайте с 29.03.2006
Offline
228
#1

вероятно это можно сделать если прописать поддомены вида xxx.site.ru как алиасы к основному домену site.ru т.е. у них один общий домашний каталог будет... после этого уже нужно делать rewrite.

content
На сайте с 23.01.2006
Offline
103
#2

Используя mod_rewrite и .htaccess:


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(.+)\.site\.ru$
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteRule ^(.*)$ subdirectory/$1 [L]

Можно попробовать и без mod_rewrite. Редиректом:


// Retrieve requested domain name
$full_url = $_SERVER['HTTP_HOST'];

// Separate subdomain from requested URL
$subdomain = explode(".",$full_url);

// Set default redirect page if no subdomain is called
$default = ("main.php");

// If directory exists in document root with the name of "$subdomain"
// redirect to hostname/folder. Otherwise redirect to deafult page
if (is_dir("$DOCUMENT_ROOT/$subdomain[0]")){
header("Location:http://$full_url/$subdomain[0]");
} else {
header("Location:http//$full_url/$default");
}
toor
На сайте с 17.04.2006
Offline
5
#3

имхо чтобы вот это работало

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(.+)\.site\.ru$
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteRule ^(.*)$ subdirectory/$1 [L]

нужно в днс добавить A запись

*.site.ru xxx.xxx.xxx.xxx

либо нужен алиас такой же

*.site.ru -> site.ru

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий