Создание поддоменов для абсолютных путей с помощью .htaccess - PullRequest
4 голосов
/ 17 мая 2009

Эй, мой хозяин абсолютно ужасен. По какой-то странной причине создание субдомена в cPanel просто не работает, и их линии поддержки всегда заняты. Я думал, что смогу обойти это, используя .htaccess. Я уверен, что это не так сложно, но я немного новичок в mod_rewrite и не добился большого успеха в поиске за последние 5 часов. Вот ситуация:

/ home / user / public_html автоматически перенаправляет на http://www.example.com

Поскольку я использую CMS в public_html, она уже добавила правило в .htaccess, чтобы перенаправить что-то незнакомое после example.com/ на страницу, не найденную

/ home / user / subdomain необходимо перенаправить на http://subdomain.example.com

Как мне создать переадресацию поддоменов на абсолютный путь? Или Как я могу добавить исключение в мой .htaccess

Ответы [ 2 ]

2 голосов
/ 20 сентября 2009

Я сомневаюсь, что вы сможете заставить свой поддомен функционировать вне вашей папки public_html (хотя я не являюсь администратором сервера). Как правило, это требует изменений DNS или настройки конфигурации сервера. Вы пытались создать подкаталог и переписать вызовы на поддомен? Например, это помещено в .htaccess в вашем каталоге public_html:

RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteRule (.*) /subdomain/$1 [L]

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

Удачи!

1 голос
/ 17 мая 2009

Попробуйте это правило:

RewriteCond %{REQUEST_URI} !^/home/user/
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteRule ^ /home/user/%1%{REQUEST_URI} [L]

Но ваш веб-сервер уже должен быть настроен так, чтобы каждый запрос foobar.example.com перенаправлялся на этот конкретный виртуальный хост.

...