Jump to content
74ivan74

Httpd.conf и автоподдомены

Recommended Posts

Добился автоматического создания сайтов на поддомене, т.е. дополнительной папки сайта в папке sites лежащей в корне основного домена:
домен.ру
домен.рф/sites/test является поддоменом test.домен.рф

Не могу правильно настроить httpd.conf vps сервера и .htaccess внутри sites или test, чтобы при обращении к домен.рф/sites/test выдавало ошибку и работал только test.домен.рф

Еще, буду благодарен, если направите в верном направлении по следующему вопросу. В дальнейшем хочу создать возможность, АВТОМАТОМ прикручивать к поддомену test.домен.рф свой личный домен мойдомен.рф, чтобы мойдомен.рф открывал сайт созданный на поддомене test.домен.рф - как организовать такой функционал? может ссылки есть на мануал какой.
Понятно, что пользователю нужен мой IP для того, чтобы прописать его в настройках зоны домена, вот что нужно сделать на моей стороне, на стороне сервера, чтобы он отдавал нужный поддомен при обращении к мойдомен.рф.....

 

Мой httpd.conf

<VirtualHost 174.77.40.177:81 >
    ServerName домен.рф
    AddDefaultCharset utf-8
    DirectoryIndex index.php
    DocumentRoot /var/www/ivan/data/www/домен.рф
    SuexecUserGroup ivan ivan
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    php_admin_value open_basedir "/var/www/ivan/data:."
    php_admin_value upload_tmp_dir "/var/www/ivan/data/mod-tmp"
    php_admin_value session.save_path "/var/www/ivan/data/mod-tmp"
</VirtualHost>
<VirtualHost 174.77.40.177:81 >
    ServerName www.домен.рф
    AddDefaultCharset utf-8
    DirectoryIndex index.php
    DocumentRoot /var/www/ivan/data/www/домен.рф
    SuexecUserGroup ivan ivan
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    php_admin_value open_basedir "/var/www/ivan/data:."
    php_admin_value upload_tmp_dir "/var/www/ivan/data/mod-tmp"
    php_admin_value session.save_path "/var/www/ivan/data/mod-tmp"
</VirtualHost>
<VirtualHost 174.77.40.177:81 >
    ServerName домен.рф
    AddDefaultCharset utf-8
    DirectoryIndex index.php
    DocumentRoot /var/www/ivan/data/www/домен.рф
    VirtualDocumentRoot /var/www/ivan/data/www/домен.рф/sites/%1
    ServerAlias *.домен.рф
    SuexecUserGroup ivan ivan
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    php_admin_value open_basedir "/var/www/ivan/data:."
    php_admin_value upload_tmp_dir "/var/www/ivan/data/mod-tmp"
    php_admin_value session.save_path "/var/www/ivan/data/mod-tmp"
</VirtualHost>

Спасибо!

Share this post


Link to post
Share on other sites

Нет, не помогло

мой .htaccess

#Options -Multiviews
Options -Indexes
Options +FollowSymLinks

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www\.)?домен\.рф$
RewriteRule ^sites/ - [F]
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

Share this post


Link to post
Share on other sites

Получается, должно выйти что-то подобное:

#Options -Multiviews
Options -Indexes
Options +FollowSymLinks

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www\.)?домен\.рф$
RewriteRule ^sites/([^\/]+) http://$1.домен.рф [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

Не срабатывает?

Share this post


Link to post
Share on other sites

Нет, все по прежнему. Открывается сайт по разным url.

 

А как прикрутить к поддомену - домен не знаете?

Сейчас домену прописываю IP поддомена, на домене открывается основной сайт (сайт где расположен поддомен) вместо поддомена.

Share this post


Link to post
Share on other sites

У меня сработал вот такой вариант:

#Options -Multiviews
Options -Indexes
Options +FollowSymLinks

RewriteEngine on 
RewriteRule ^sites\/([^/]+)/? http://$1.домен.рф/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

Share this post


Link to post
Share on other sites

Чтобы к поддомену прикрутить домен, нужно сделать отдельный VirtualHost с папкой, соответствующей папке поддомена, и ServerName (ServerAlias) соответствующими самому адресу домена, например:

<VirtualHost 174.77.40.177:81 >
    ServerName васяпупкин.рф
    AddDefaultCharset utf-8
    DirectoryIndex index.php
    DocumentRoot /var/www/ivan/data/www/домен.рф/sites/васяпупкин
    ServerAlias www.васяпупкин.рф
    SuexecUserGroup ivan ivan
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
    php_admin_value open_basedir "/var/www/ivan/data:."
    php_admin_value upload_tmp_dir "/var/www/ivan/data/mod-tmp"
    php_admin_value session.save_path "/var/www/ivan/data/mod-tmp"
</VirtualHost>

Share this post


Link to post
Share on other sites

Нет, не хочет работать, странно.

 

Автоматизировать создание виртуального VirtualHost как-то можно, чтобы не прописывать самостоятельно?

Share this post


Link to post
Share on other sites

Наверное, самым простым вариантом будет написать простенький скриптик, который будет создавать виртуальные хосты сам для каждого поддомена. Например, что-то такое:

 

#!/bin/bash
THEWWW="/var/www/ivan/data/www/домен.рф/sites/"
THEVHOST="/etc/apache2/conf.d/domainrfvhosts"


echo "# AutoLoaded Virtual Hosts from $THEWWW" > $THEVHOST
echo "" >> $THEVHOST


sites=`ls -F $THEWWW | grep / | sed 's/\///g'`
for n in $sites; do
        echo "# $n" >> $THEVHOST
        echo "<VirtualHost *:80>" >> $THEVHOST
        echo "  ServerAdmin admin@домен.рф" >> $THEVHOST
        echo "  DocumentRoot $THEWWW/$n" >> $THEVHOST
        echo "  ServerName $n" >> $THEVHOST
        echo "  ServerAlias www.$n" >> $THEVHOST
        echo "</VirtualHost>" >> $THEVHOST
        echo "" >> $THEVHOST
done

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...