zoukankan      html  css  js  c++  java
  • Apache配置虚拟目录和多主机头

    多个虚拟目录

      首先把Apache安装到D:Program FilesApache2.2目录下,端口号设置为8080,安装完成后默认的网站根目录为D:Program FilesApache2.2htdocs,通常我们可以在htdocs下面建立个文件夹MySite,然后在浏览器输 入:http://localhost:8080/MySite 这样就可以看到我们自己的站点了。然而有时我们想把站点放到其它目录下面,这时就需要配置虚拟目录了
    比如我们在D盘建立如下文件夹D:CodeWebSite,然后通过http://localhost:8080/DemoSite来访问这个站点

    打开httpd.conf文件,搜索<IfModule alias_module> 节点,然后在节点内输入以下内容:

    复制代码
    #下面是虚拟目录声明格式
    #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 FilesApache2.2htdocs" </VirtualHost> <VirtualHost *:8080> ServerName www.mysite2.com DocumentRoot "D:CodeMySite" </VirtualHost>
    复制代码

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

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

  • 相关阅读:
    GMS问题_ThemeHostTest#testThemes
    解压system.img
    Android10_原理机制系列_AMS(ATMS)之应用的第一次启动的过程
    Android10_原理机制系列_AMS之AMS的启动
    如何用云开发高效快捷地实现短信验证码登录?
    推荐一款强大的前端CLI命令行工具
    CloudBase Framework丨第一个 Deno 部署工具是如何打造的?
    实战 | 打造一个双端自动发布的博客体系(下)
    从java注解漫谈到typescript装饰器——注解与装饰器
    TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉
  • 原文地址:https://www.cnblogs.com/caicaizi/p/5142072.html
Copyright © 2011-2022 走看看