呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了。。。
这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧
多个虚拟目录
首先把Apache安装到D:\Program Files\Apache2.2目录下,端口号设置为8080,安装完成后默认的网站根目录为D:\Program Files\Apache2.2\htdocs,通常我们可以在htdocs下面建立个文件夹MySite,然后在浏览器输 入:http://localhost:8080/MySite 这样就可以看到我们自己的站点了。然而有时我们想把站点放到其它目录下面,这时就需要配置虚拟目录了
比如我们在D盘建立如下文件夹D:\Code\WebSite,然后通过http://localhost:8080/DemoSite来访问这个站点
打开httpd.conf文件,搜索 节点,然后在节点内输入以下内容:
#下面是虚拟目录声明格式
#Alias用来定义虚拟目录及虚拟目录路径,其中虚拟目录名称用于URL访问的路径别名,可以和虚拟目录名称不同
#<Directory/>节点用于定义目录的访问权限等
#
#Alias 虚拟目录名称 虚拟目录路径
#<Directory 虚拟目录路径>
# Options Indexes FollowSymLinks
# AllowOverride All
# Order allow,deny
# Allow from all
#</Directory>
#下面是具体的示例,/DemoSite是目录别名 "D:/Code/WebSite"是虚拟目录的实际路径
Alias /DemoSite "D:/Code/WebSite"
<Directory "D:/Code/WebSite">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
重启Apache服务后,在浏览器输入http://localhost:8080/DemoSite就可以正常访问了
这里需要注意下目录尽量使用"/",而不是使用"\",原因就是"\"代表转义符有些情况下会导致莫名奇妙的错误,下面附上完整的<IfModule alias_module>节点以供参考
<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://localhost/bar
#
# Alias: Maps web paths into filesystem paths and is used to
# access content that does not live under the DocumentRoot.
# Example:
# Alias /webpath /full/filesystem/path
#
# If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "D:/Program Files/Apache2.2/cgi-bin/"
Alias /DemoSite "D:/Code/WebSite"
<Directory "D:/Code/WebSite">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</IfModule>
多主机头绑定
(就是在一个端口上绑定多个域名,然后每个域名可以指向不同的目录进行访问,主机头是IIS里面的说法),打开httpd.conf文件,在文件最后添加如下内容
#多主机头配置无需放在特定的节点下面,一般直接在配置文件底部添加即可
#NameVirtualHost addr[:port] 为一个基于域名的虚拟主机指定一个IP地址(和端口)
#声明主机头必须加这条指令,否者主机头配置不会生效
#VirtualHost节点下面ServerName就是要绑定的域名,DocumentRoot表示此域名指向的目录
#本机测试的话请在hosts中进行域名绑定如 127.0.0.1 www.mysite1.com
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerName www.mysite1.com
DocumentRoot "D:\Program Files\Apache2.2\htdocs"
</VirtualHost>
<VirtualHost *:8080>
ServerName www.mysite2.com
DocumentRoot "D:\Code\MySite"
</VirtualHost>
配置好后,重启apache服务,浏览器输入www.mysite1.com:8080,就会自动定向到D:\Program Files\Apache2.2\htdocs站点了
输入www.mysite2.com:8080就会自动定向到D:\Code\MySite站点,如此就可以实现在一个服务器上同时运行多个站点
转载:http://www.cnblogs.com/lzrabbit/archive/2013/03/05/2944804.html
分享到:
相关推荐
主要介绍了apache中配置虚拟目录,以及多主机头配置,有需要的朋友,可以参考下
详细介绍apache配置虚拟目录
apache服务器 虚拟目录和虚拟主机设置详解
资源名称:Apache服务器虚拟主机虚拟目录配置 资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
学习php的好帮手,快捷配置apache虚拟目录和HOSTS文件,自己配置一次apache虚拟目录和hosts文件就再也不需要配置了
您可能感兴趣的文章:Apache虚拟目录配置及vue-cli反向代理的设置方法Apache配置虚拟目录和多主机头的方法PHP编程之设置apache虚拟目录解析在apache里面给php写虚拟目录的详细方法Apache 添加虚拟目录注
apache怎么配置虚拟目录
详细讲解apache安装 php和apache整合 虚拟目录 虚拟主机
apache虚拟目录和伪静态的配置
apache 虚拟主机配置 大全 资深web开发者总结apache配置vhost
Apache虚拟目录设置方法 2008-04-13 安装Apache虚拟目录设置方法(弄Apache的时候在网上找了) 在Apache的配置文件httpd.conf下 搜索Alias /manual 这时你会看到:
linux下apache虚拟主机的配置方法
Apache虚拟主机配置文件 httpd-vhosts.comf
NULL 博文链接:https://zhibin07.iteye.com/blog/1446521
Apache配置httpd-vhosts虚拟主机
具体的Apache虚拟主机配置,详细描述Apache虚拟主机的配置过程及原理
Apache2.2多个虚拟主机+Tomcat6多个虚拟主机整合配置,亲自试验,有问题联系我
具体如何配置apache里的虚拟主机
此文档适用于lamp环境apache虚拟主机的搭建,使用lamp环境搭建虚拟主机的新手,可以参看此文档。