博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache配置虚拟目录和多主机头
阅读量:6297 次
发布时间:2019-06-22

本文共 3268 字,大约阅读时间需要 10 分钟。

呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了。。。

这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧

多个虚拟目录

  首先把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文件,搜索<IfModule alias_module> 节点,然后在节点内输入以下内容:

#下面是虚拟目录声明格式#Alias用来定义虚拟目录及虚拟目录路径,其中虚拟目录名称用于URL访问的路径别名,可以和虚拟目录名称不同#
节点用于定义目录的访问权限等##Alias 虚拟目录名称 虚拟目录路径#
# Options Indexes FollowSymLinks# AllowOverride All# Order allow,deny# Allow from all#
#下面是具体的示例,/DemoSite是目录别名 "D:/Code/WebSite"是虚拟目录的实际路径Alias /DemoSite "D:/Code/WebSite"
Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all

 

重启Apache服务后,在浏览器输入http://localhost:8080/DemoSite就可以正常访问了

注意如果Allow from 127.0.0.1 配置成这样,就只能http://127.0.0.1:8080/DemoSite 这样访问了,http://localhost:8080/DemoSite这样不能访问

这里需要注意下目录尽量使用"/",而不是使用"\",原因就是"\"代表转义符有些情况下会导致莫名奇妙的错误,下面附上完整的<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
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"
Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all

 

 

多主机头绑定

(就是在一个端口上绑定多个域名,然后每个域名可以指向不同的目录进行访问,主机头是IIS里面的说法),打开httpd.conf文件,在文件最后添加如下内容

#多主机头配置无需放在特定的节点下面,一般直接在配置文件底部添加即可#NameVirtualHost addr[:port] 为一个基于域名的虚拟主机指定一个IP地址(和端口)#声明主机头必须加这条指令,否者主机头配置不会生效#VirtualHost节点下面ServerName就是要绑定的域名,DocumentRoot表示此域名指向的目录#本机测试的话请在hosts中进行域名绑定如 127.0.0.1  www.mysite1.com NameVirtualHost *:8080
ServerName www.mysite1.com DocumentRoot "D:\Program Files\Apache2.2\htdocs"
ServerName www.mysite2.com DocumentRoot "D:\Code\MySite"

配置好后,重启apache服务,浏览器输入www.mysite1.com:8080,就会自动定向到D:\Program Files\Apache2.2\htdocs站点了

输入www.mysite2.com:8080就会自动定向到D:\Code\MySite站点,如此就可以实现在一个服务器上同时运行多个站点

127.0.0.1 www.blog.com

NameVirtualHost *:8080

<VirtualHost *:8080>
DocumentRoot "D:\Downloads\php\1224blog"
ServerName www.blog.com
</VirtualHost>

转载地址:http://gilta.baihongyu.com/

你可能感兴趣的文章
buildroot管理uboot+kernel+rootfs
查看>>
我的友情链接
查看>>
dell服务器网卡em1改成eth0
查看>>
Android中几种常用的定时器和延时方法
查看>>
simple-spring-memcached统一缓存的使用实例4
查看>>
我的友情链接
查看>>
java实现excel的导入导出(poi详解)
查看>>
我的友情链接
查看>>
Pgcli—自动完成和语法高亮的Postgres命令行工具
查看>>
从任何兼容 TWAIN 的设备获取图象的控件Dynamic Web TWAIN
查看>>
openstack-mitaka之Telemetry服务(controller安装部署)
查看>>
如何将简单CMS后台管理系统示例转换为Java、Php等不同后台语言的版本
查看>>
谈谈Ext JS的组件——布局的使用方法续一
查看>>
关于某些域环境下Windows Hello无法使用的解决方法
查看>>
计算机网络或计算机基础知识点滴1
查看>>
责任链模式
查看>>
shell第一天,添加普通帐号.
查看>>
rhcs做HA时的资源释放脚本实现
查看>>
mongoDB的监控工具
查看>>
grep命令
查看>>