在Linux下的Apache2配置二级域名
我目前看到的资料都是人云亦云、以讹传讹,终于还是没有一个准确的实现办法。
后来通过控制面板的调试终于得到一段准确可用的配置代码。
下面的这个范例中我希望将forum.ohosting.info绑定到/var/www/forum目录下,(/var/www是站点ohosting.info的默认目录), 操作如下:
- 打开/etc/apache2下的http.conf文件,如果此文件为空,那么打开/etc/apache2/sites-enabled下的000-default文件。此文件是虚拟主机的配置文件。
- 你会在该文件内找到下面的结构
[cc]<VirtualHost *:80>
DocumentRoot /var/www/ #站点文件的位置
ServerName ohosting.info #虚拟主机绑定的域名
ServerAdmin webmaster@ohosting.info #管理员邮箱
</VirtualHost>[/cc]你的配置文件可能会比这里展示的更为复杂,不必害怕,请仔细查阅,你会发现它的结构非常清晰。 - 在ServerName ohosting.info行和ServerAdmin webmaster@ohosting.info行之间添加你需要解析的域名:ServerAlias forum.ohosting.info
- 在</VirtualHost>行之上添加rewrite代码
[cc]RewriteEngine on
RewriteCond %{HTTP_HOST} ^forum.ohosting.info [NC]
RewriteRule ^/(.*)$ /forum/$1[/cc] - 完整的代码如下
[cc]<VirtualHost *:80>
DocumentRoot /var/www/ #站点文件的位置
ServerName ohosting.info #虚拟主机绑定的域名
ServerAlias forum.ohosting.info #绑定的域名1
ServerAlias bbs.ohosting.info #绑定的域名2
ServerAdmin webmaster@ohosting.info #管理员邮箱RewriteEngine on
RewriteCond %{HTTP_HOST} ^forum.ohosting.info [NC]
RewriteRule ^/(.*)$ /forum/$1
RewriteCond %{HTTP_HOST} ^bbs.ohosting.info [NC]
RewriteRule ^/(.*)$ /bbs/$1
</VirtualHost>[/cc]这样,我们就实现了forum.ohosting.info与目录/forum/、bbs.ohosting.info与目录/bbs/的绑定。
通过同样的步骤,我们也可以实现三级域名、四级域名的绑定。
发表评论