【问题标题】:more than one 'www' folder with wamp多个带有 wamp 的“www”文件夹
【发布时间】:2011-06-18 11:20:59
【问题描述】:

实际上我在 c:/wamp/www 路径中有一个网站。

但是现在我想管理一堆网站,我可以在 www 中创建文件系统层次结构,并为每个网站创建一个文件夹。但问题是 'document_root' 变量总是指 c:/wamp/www

SCRIPT_FILENAME : c:/wamp/www/website1/index.php
DOCUMENT_ROOT   : c:/wamp/www
while I'd like  : c:/wamp/www/website1

我可以在 wamp 文件夹中创建一个文件夹并在浏览器中输入其 URI 时引用它吗?

例如

http://localhost/ -> c:/wamp/www/index.html
http://website1/  -> c:/wamp/www/website1/index.php

谢谢

【问题讨论】:

    标签: wamp


    【解决方案1】:

    您需要使用多个VirtualHosts(每个主机名一个)并在每个VirtualHosts 中使用不同的文档根。

    更多详情请点击此处:http://httpd.apache.org/docs/2.2/vhosts/name-based.html

    【讨论】:

    • @Bruno 感谢您的回答,我遇到了一些麻烦,我按照链接中的说明定义了我的虚拟主机。当我重新启动 wamp 时,它似乎不起作用,甚至没有建立本地主机。你有什么想法吗?
    • 它也可能取决于 DNS 条目。您尝试使用的主机名(比如http://website1.example/ 中的website1.example)需要指向您的机器(如果您只是在您的机器上尝试,大概与localhost 相同)。如果只是用于本地测试,您应该可以编辑host file;如果您希望其他机器可以访问它,您需要确保 DNS 入口指向您机器的(公开可见的)IP 地址。
    • 我已经用正确的语法更改了我的主机文件。似乎错误来自httpd.conf,如果我使用特定标签定义一个新的虚拟主机并保存文件,在重新启动时我无法访问任何地址(localhost,website1.example,...)我读了 apache支持,但现在我不确定在哪里放置<VirtualHost>
    • 查看 Apache Httpd 错误日志中的内容会很有用。
    • 感谢您的支持,我查看了错误日志,发现apache没有找到定义的虚拟主机的document_root。我不得不直接输入 (c:/wamp/www/website1)。但是对于我在网上看到的所有示例来说,这有点奇怪,没有人绝对引用文档根目录。我也不得不对本地主机地址进行虚拟主机...但无论如何它似乎工作正常,如果您有任何建议或反馈,请随时嵌入:)
    【解决方案2】:

    我通常为我的项目创建多个虚拟主机: 将以下行添加到 C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf

    Listen 9191
    NameVirtualHost *:9191
    
    <VirtualHost *:9191>
        ServerName web1.local
        DocumentRoot "D:\VanCK\Projects\Web1\trunk\public_html"
        <Directory "D:\VanCK\Projects\Web1\trunk\public_html"> 
            AllowOverride All
            Order Allow,Deny
            Allow From all
        </Directory>
    </VirtualHost>
    
    Listen 9292
    NameVirtualHost *:9292
    
    <VirtualHost *:9292>
        ServerName web2.local
        DocumentRoot "D:\VanCK\Projects\Web2\trunk\public_html"
        <Directory "D:\VanCK\Projects\Web2\trunk\public_html"> 
            AllowOverride All
            Order Allow,Deny
            Allow From all
        </Directory>
    </VirtualHost>
    

    将以下行添加到 C:\Windows\System32\drivers\etc\hosts

    127.0.0.1 web1.local

    127.0.0.1 web2.local

    启用 rewrite_module(点击 WAMP 图标 > Apache > Apache 模块 > 检查 rewrite_module) 重启所有服务

    => http://web1.local:9191/http://web2.local:9292/

    【讨论】:

      【解决方案3】:

      你需要添加

      选项索引 FollowSymLinks

      之后:

      允许全部覆盖

      订单允许,拒绝

      全部允许

      【讨论】:

        猜你喜欢
        • 2015-09-18
        • 2015-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        • 2022-01-12
        • 1970-01-01
        相关资源
        最近更新 更多