`
wangming2012
  • 浏览: 140388 次
  • 性别: Icon_minigender_1
  • 来自: 枣阳
社区版块
存档分类
最新评论

Apache配置虚拟目录和多主机头

阅读更多
呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了。。。
这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧

多个虚拟目录

  首先把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后,其默认配置文件`httpd.conf`中`DocumentRoot`指令定义...

    apache中为php 设置虚拟目录

    您可能感兴趣的文章:Apache虚拟目录配置及vue-cli反向代理的设置方法Apache配置虚拟目录和多主机头的方法PHP编程之设置apache虚拟目录解析在apache里面给php写虚拟目录的详细方法Apache 添加虚拟目录注

    apache 设置主机头,同一端口绑定多个域名和网站

    ### Apache配置主机头在同一端口绑定多个域名和网站 在Apache服务器中,有时我们需要在同一台服务器上运行多个网站,每个网站都有不同的域名。这可以通过配置虚拟主机(Virtual Hosts)来实现,其中一种方法是使用...

    如何配置apache服务器

    基于IP的虚拟主机需要不同IP或端口号,而基于主机头的虚拟主机则依赖DNS映射多个域名到同一IP。 2. 基于IP的虚拟主机配置: - 需要为每个虚拟主机创建单独的配置文件,例如在`vhost-conf.d`目录下。 - 在主配置...

    Apache服务器配置[收集].pdf

    总的来说,Apache服务器的配置是一个综合性的过程,涉及服务管理、文件路径设置、安全控制和多站点部署。理解这些基础知识对软件开发者来说至关重要,因为它提供了构建Web应用程序和网站的基石。通过熟练掌握Apache...

    linux服务器架设.pdf

    有两种实现方式:基于IP的虚拟主机和基于主机头的虚拟主机。前者需要每个站点使用不同的IP地址或端口号,后者则依赖于DNS设置,将多个域名映射到同一IP。基于IP的虚拟主机配置涉及到为每个站点创建独立的配置文件,...

    删除空主机头方法

    本文介绍了三种常见的Web服务器(IIS、Apache和Nginx)如何删除空主机头的方法。通过对服务器进行正确的配置,可以有效地防止非法访问和潜在的安全威胁。在实践中,建议定期审查服务器配置并及时更新安全策略,以...

    ISAPI Rewrite 3 (IIS重写URL插件)

     创建虚拟目录结构的物理网站隐藏文件和扩展。这也有助于从一个技术到另一个。  返回浏览器的依赖甚至内容的静态档案。  和其他许多问题是可以解决的力量,正则表达式引擎内置的ISAPI_Rewrite 。  ISAPI_...

    ISAPI_Rewrite2.9版(有注册码)

     创建虚拟目录结构的物理网站隐藏文件和扩展。这也有助于从一个技术到另一个。  返回浏览器的依赖甚至内容的静态档案。  和其他许多问题是可以解决的力量,正则表达式引擎内置的ISAPI_Rewrite 。  ISAPI_...

    IIS服务器SSI(rewrite重写)插件的帮助资料

    仿真基于主机头的虚拟网站 49 阻断内联图像(阻止盗链) 50 重定向非WWW的版本到WWW 51 强制SSL或者非SSL到一个指定的位置 51 转移站点位置 52 平衡负荷仿真 52 故障处理 53 精简版的限制 55 使用和传播许可 56 ...

Global site tag (gtag.js) - Google Analytics