VirtualDocumentRoot域和子域 [英] VirtualDocumentRoot Domains and Subdomains

查看:136
本文介绍了VirtualDocumentRoot域和子域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

时有可能有VirtualDocumentRoot正常域和子域?

  http://www.example.com/或http://example.com

用途:

  /var/www/example.com/

  HTTP://*.example.com

使用

  /var/www/example.com/subdomains/*

我有什么至今:
引擎收录 - VirtualDocumentRoot域和子域

正常领域的作品,除了子域,appearently它总是重定向到正常的域。我用这个信息是来自#1 - Apache的多virtualdocumentroot

 #获取从主机服务器名:头
UseCanonicalName关闭#该日志格式可以每个虚拟主机基于第一场被分割
的LogFormat%V%H%L%U%T \\%r \\%s%Bvcommon
的CustomLog日志/访问日志vcommon<虚拟主机*:80>
    站长的ServerAdmin @本地
    服务器名domain.com
    ServerAlias​​ www.domain.com domain.com
    VirtualDocumentRoot /var/www/%-2.0.%-1/web    #可能的值包括:调试,信息,通知,警告,错误,暴击,
    #警报,EMERG。
    LogLevel的调试
    错误日志/var/log/apache2/vhosts-error.log
    的CustomLog /var/log/apache2/vhosts-access.log结合    ServerSignature在
< /虚拟主机>
<虚拟主机*:80>
    服务器名domain.com
    ServerAlias​​ * .domain.com
    VirtualDocumentRoot /var/www/%-2.0.%-1/subdomains/%-3
< /虚拟主机>

更新V2 [工作对我来说,只是忽略子域到现在..]

 <虚拟主机*:80>
    服务器名称example.com
    ServerAlias​​ www.example.com example.com
    选择了FollowSymLinks索引    VirtualDocumentRoot /无功/网络/% - 2 _% - 1 /网络/    <目录/>
            没有的AllowOverride
    < /目录>    <目录/无功/网络/ * /网络/>
        RewriteEngine叙述上
        的RewriteBase /
        #如果目录或文件是否存在,直接使用它
        的RewriteCond%{} REQUEST_FILENAME!-f
        的RewriteCond%{} REQUEST_FILENAME!-d
        #否则将其转发到index.php
        重写规则。的index.php [L]
        <文件sitemap.xml的>
            RewriteEngine叙述关
        < /文件>
    < /目录>
        LogLevel的调试
        错误日志/var/log/apache2/vhosts-error.log
        的CustomLog /var/log/apache2/vhosts-access.log结合
< /虚拟主机>


解决方案

您可以将您的服务器为每个域和/或子域上的指定文件夹:)
请参见 http://httpd.apache.org/docs/current/vhosts/examples。 HTML 样品。

如果你得到的子域或域问题,请检查您的DNS记录是否子域为您的域启用。否则添加与您的一个子域'A'记录或类似*别名.doamin.com
Basiccly这是什么呢,是指向子域服务器的IP地址。

检查这篇文章一个简单的指南,DNS: https://开头的支持。 google.com/a/answer/48090?hl=en

Is it possible to have VirtualDocumentRoot for normal domains and subdomains?

http://www.example.com/ or http://example.com

Uses:

/var/www/example.com/

And

http://*.example.com

Uses

/var/www/example.com/subdomains/*

What i have so far: Pastebin - VirtualDocumentRoot Domains and Subdomains

The normal domain works except the subdomains, appearently it always redirects to the normal domain. This information i used is coming from Stackoverflow - Apache-multiple-virtualdocumentroot

# get the server name from the Host: header
UseCanonicalName Off

# this log format can be split per-virtual-host based on the first field
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName domain.com
    ServerAlias www.domain.com domain.com
    VirtualDocumentRoot /var/www/%-2.0.%-1/web

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug
    ErrorLog /var/log/apache2/vhosts-error.log
    CustomLog /var/log/apache2/vhosts-access.log combined

    ServerSignature On
</VirtualHost>
<VirtualHost *:80>
    ServerName domain.com
    ServerAlias *.domain.com
    VirtualDocumentRoot /var/www/%-2.0.%-1/subdomains/%-3
</VirtualHost>

Update v2 [worked for me, just ignore the subdomains till now..]

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com example.com
    Options Indexes FollowSymLinks

    VirtualDocumentRoot /var/www/%-2_%-1/web/

    <Directory />
            AllowOverride none
    </Directory>

    <Directory "/var/www/*/web/">
        RewriteEngine on
        RewriteBase /
        # If a directory or a file exists, use it directly
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # Otherwise forward it to index.php
        RewriteRule . index.php [L]


        <Files sitemap.xml>
            RewriteEngine Off
        </Files>
    </Directory>


        LogLevel debug
        ErrorLog /var/log/apache2/vhosts-error.log
        CustomLog /var/log/apache2/vhosts-access.log combined
</VirtualHost>

解决方案

You can specify a folder on your server for each domain and/or sub-domain :) See http://httpd.apache.org/docs/current/vhosts/examples.html for samples.

If you get problems with the subdomain or domain please check your DNS record to see if subdomains are enabled for your domain. Else add a 'A' record with your subdomain or an alias like *.doamin.com Basiccly what this does, is pointing the subdomain to your server IP address.

Check this article for an easy guide to DNS : https://support.google.com/a/answer/48090?hl=en

这篇关于VirtualDocumentRoot域和子域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆