您的位置:首页 > 运维架构 > Apache

apache虚拟主机设置(单IP多域名)

2014-06-03 11:15 561 查看
1.打开apache目录下的httpd.conf文件(此文件在D:\wamp\bin\apache\Apache2.2.17\conf\extra\目录下,具体路径视WAMP安装情况),使用Ctrl+F快捷键查找到如下模块:

1
#Include
conf/extra/httpd-vhosts.conf
去掉前面的#,如此就意味着开启了httpd-vhosts虚拟主机模块;

2.在任意磁盘上新建一个文件夹(为方便下面的讲解,文件夹命名为vhosts_set,文件夹名称任意),此文件夹内存放虚拟主机域名信息。,再次打开httpd.conf文件,并在文件最后添加下面语句:

1
Include
"D:/path/to/vhosts_set/xxx.conf"
语句的意思是将刚新建的vhosts_set文件夹下的xxx.conf包含进httpd.conf,其中,"D:/path/to/"是指我之前新建vhosts_set文件夹的路径

3.在vhosts_set文件夹下新建xxx.conf文件,其命名必须与步骤2中的xxx.conf一致,并在文件内添加如下内容:

1
<VirtualHost
*:80>
2
DocumentRoot
"D:\wamp\www"
(指向文件目录)
3
ServerName
localhost(当前域名)
4
</VirtualHost>
保存添加内容,重启Apache服务器。此时在浏览器地址栏里输入http://localhost可正常访问

4.在vhosts_set文件夹下的xxx.conf新建新主机,如:http://iecspace.ecjtu.org,添加语句如下:

1
<VirtualHost
*:80>
2
DocumentRoot
"D:\web\iecspace"
(指向文件目录)
3
ServerName http://iecspace.ecjtu.org  (指向新域名)
4
</VirtualHost>
同时,需要修改本地hosts文件,打开C:\WINDOWS\system32\drivers\etc\hosts在文件最后新增如下语句:

1
127.0.0.1http://iecspace.ecjtu.org
保存修改,重启apache服务器,在浏览器地址栏输入:http://iecspace.ecjtu.org可能会出现如下提示:



这是由于目录访问权限导致的(Linux服务器上配置对文件夹访问权限要求更高,出错率会更大),这时需要设置对目录的访问权限,打开httpd.conf文件,找到如下加载模块:

1
<Directory>
2
Options
FollowSymLinks
3
AllowOverride
None
4
Order
deny,allow
5
Deny
from all
6
</Directory>
改为:

1
<Directory
/>
2
Options
Indexes FollowSymLinks
3
AllowOverride
None
4
</Directory>
保存修改,重启apache服务器,重新在地址栏内输入http://iecspace.ecjtu.org,即可指向目的站点。

5.若要增加新的主机,可重复上述添加过程即可。

说明:事实上,vhosts_set文件夹完全可以不必创建,若将xxx.conf文件内的所有内容直接写入httpd.conf文件中,这样也是可以的。但是,为了更方便地管理已设置的主机,建议根据上述步骤进行配置。同时,互联网上很多资料提到的修改httpd-vhosts文件的方法其实也是可行的,只要读者理解apache服务器是直接加载httpd.conf文件,并在其中通过包含(Include)其他文件从而引入添加内容这样一个核心的思想就可以举一反三地变通了。
Apache如何添加二级域名:

httpd.conf 中需要打开mod_rewrite功能(关于URL重定向的具体说明,可以参照.htaccess使用方法总结),具体操作就是,在httpd.conf 的最后,添加以下内容:

RewriteEngine on

RewriteMap lowercase int:tolower

RewriteMap vhost txt:/usr/local/etc/apache/vhost.map

RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$

RewriteCond ${vhost:%1} ^(/.*)$

RewriteRule ^/(.*)$ %1/$1

其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改(例如在/etc/httpd/下面)。然后,在这个所在路径的目录下创建一个文件: vhost.map,内容为:

www.minidx.com /usr/local/www/minidx.com

www.ntt.cc /usr/local/www/ntt.cc

blog.minidx.com /usr/local/www/minidx.com/blog

最后,在网站根目录 /usr/local/www/下,创建对应目录就可以了。如果需要增加,修改或者删除域名,子域名,仅仅需要更改vhost.map文件,而不用重启apache进程。

==========================附阿里云原装phpwind配置=======================================

<DirectoryMatch "/alidata/www/phpwind/(attachment|html|data)">

<Files ~ ".php">

Order allow,deny

Deny from all

</Files>

</DirectoryMatch>

<VirtualHost *:80>

DocumentRoot/alidata/www/phpwind

ServerName localhost

ServerAlias localhost

<Directory "/alidata/www/phpwind">

Options Indexes FollowSymLinks

AllowOverride all

Order allow,deny

Allow from all

</Directory>

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^(.*)-htm-(.*)$ .php?

RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?

</IfModule>

ErrorLog "/alidata/log/httpd/phpwind-error.log"

CustomLog "/alidata/log/httpd/phpwind.log" common

</VirtualHost>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐