VirtualDocumentRoot域和子域 [英] VirtualDocumentRoot Domains and Subdomains
问题描述
时有可能有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屋!