wid*_*ara 3 domain wildcard subdomain apache-2.2
httpd-vhosts.conf
<Directory "/Volumes/DATA/websites">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/DATA/websites/default"
ServerName default.dev
UseCanonicalName Off
</Virtualhost>
<Virtualhost *:80>
VirtualDocumentRoot "/Volumes/DATA/websites/%1/www"
ServerAlias *.dev
UseCanonicalName Off
</Virtualhost>
Run Code Online (Sandbox Code Playgroud)
目前处理请求如下:
alpha.dev -> /Volumes/DATA/websites/alpha/www
beta.dev -> /Volumes/DATA/websites/beta/www
Run Code Online (Sandbox Code Playgroud)
是否可以拥有通配符域和子域?例如:
alpha.dev -> /Volumes/DATA/websites/alpha/www
img.alpha.dev -> /Volumes/DATA/websites/alpha/img
cdn.alpha.dev -> /Volumes/DATA/websites/alpha/cdn
beta.dev -> /Volumes/DATA/websites/beta/www
docs.beta.dev -> /Volumes/DATA/websites/beta/docs
blog.beta.dev -> /Volumes/DATA/websites/beta/blog
Run Code Online (Sandbox Code Playgroud)
根据此文档,可以使用 FQDN 的多个部分。在您的配置中,您使用的%1是对应的子域。如果FQDN是img.alpha.dev那么%1将会导致img和%2对应于它导致域alpha和%0以img.alpha.dev作为%0对应于FQDN。
实现以下配置:
<VirtualHost *:80>
ServerAlias *
VirtualDocumentRoot /var/www/%2/%1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在/etc/httpd/conf/httpd.conf、执行mkdir -p /var/www/mydomain/info && echo helloworld > /var/www/mydomain/info/index.html、重新启动httpd和导航到http://info.mydomain.com/结果中helloworld。
但是,如果更多地指定了 ServerAlias,例如:
<VirtualHost *:80>
ServerAlias *.mydomain.com
VirtualDocumentRoot /var/www/%1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
执行mkdir -p /var/www/info && echo test2_param_one > /var/www/info/index.html并导航到info.mydomain.com结果test2_param_one。
<VirtualHost *:80>
ServerAlias *.mydomain.com
VirtualDocumentRoot /var/www/%0
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
执行mkdir -p /var/www/info.mydomain.com && echo test2_param_all > /var/www/info.mydomain.com/index.html并导航到info.mydomain.com结果test2_param_all。
总之,以下代码段有效:
<VirtualHost *:80>
ServerAlias *.*.dev
VirtualDocumentRoot /var/www/%2/%1
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.dev
VirtualDocumentRoot /var/www/%1/test
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
mkdir -p /var/www/alpha/test && echo test5 > /var/www/alpha/test/index.html, mkdir -p /var/www/alpha/img && echo test10 > /var/www/alpha/img/index.html, 导航到http://alpha.dev/Returnstest5和导航到http://img.alpha.dev/Returns test10。
| 归档时间: |
|
| 查看次数: |
10032 次 |
| 最近记录: |