【问题标题】:Wampserver shows 404 errors after swapping to using VhostsWampserver 在切换到使用 Vhosts 后显示 404 错误
【发布时间】:2014-06-26 15:16:16
【问题描述】:

所以我将 Wampserver 用于开发目的,并且我设法设置了用于开发目的的服务器(它与 Dreamweaver 一起工作,PHP 工作等)但是在访问 localhost 时,我收到 404 错误。

我几乎没有更改设置,只是将其设置为使用该 vhosts 文件,然后我在系统 32 的 hosts 文件中创建了一些新主机,一切正常。

localhost/phpmyadmin 确实可以工作,但是,所以我真的很困惑为什么它不会加载任何东西。我还尝试加载一个站点文件夹(localhost/Rufus),该文件夹也返回 404。我需要指向 www 文件夹的所有目录,我的所有文件都保存在该文件夹中。

在任何人说之前,不,这不是 Skype 或 IIS,因为它们都已关闭并且 Wampserver 正在端口 80 上运行(我检查过)

我的虚拟主机文件:

# Virtual Hosts
#
# Required modules: mod_log_config

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

<Directory C:\Users\Tom\sites\wamp\www>
Order Deny,Allow   
Allow from all 
</Directory>

<VirtualHost *:80>   
DocumentRoot "C:\Users\Tom\sites\wamp\www\Rufus" 
ServerName rufus.stone 
</VirtualHost>

【问题讨论】:

  • 向我们展示您的虚拟主机配置文件
  • 编辑中。甚至不确定这是否是问题所在。当我在 Dreamweaver 中按 f12 时它似乎可以工作,但是打开 localhost 或 localhost/ 我创建的任何文件夹都不起作用。不过在使用虚拟主机之前它确实有效。

标签: apache wampserver


【解决方案1】:

删除示例虚拟主机,假设您不使用它们。您还需要一个“localhost”的虚拟主机,它必须是第一个虚拟主机。之后,您可以包含您的其他自定义虚拟主机。

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "C:\Users\Tom\sites\wamp\www"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\Users\Tom\sites\wamp\www\Rufus" 
    ServerName rufus.stone
</VirtualHost>

如果您收到权限被拒绝错误,请尝试将我取出的指令放入您的 httpd.conf:

<Directory "C:\Users\Tom\sites\wamp\www">
    Order Deny,Allow
    Allow from all
</Directory>

它将直接在一个类似的指令下进行,该指令在根目录中包含一个拒绝所有人。

确保在对这些文件进行更改时始终重新启动 Apache。

【讨论】:

    【解决方案2】:

    错误 404 表示您尚未授予对这些虚拟主机的访问权限,因此 Apache 将您踢出。

    您需要在您的虚拟主机中包含一些信息,以告诉 Apache 哪些位置可以访问每个 VHOST

    您还需要使 localhost 成为虚拟主机,因为第一个 VHOST 是默认 VHOST,它应该是您定义的第一个 VHOST,并且应该始终限制为仅允许从本地计算机访问。

    所以看看这是否更好。

    # Virtual Hosts
    #
    
    <VirtualHost *:80>
        DocumentRoot "C:\Users\Tom\sites\wamp\www"
        ServerName localhost
        <Directory "C:\Users\Tom\sites\wamp\www">
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        DocumentRoot "C:\Users\Tom\sites\wamp\www\Rufus" 
        ServerName rufus.stone
        <Directory "C:\Users\Tom\sites\wamp\www\Rufus>
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    

    Require local 表示只允许从运行 WAMPServer 的 PC 访问。 如果稍后您想允许内部网络上的其他 PC 看到 Apache 服务器,您可以像这样添加到该服务器。

    Require local
    Require ip 192.168.1
    

    假设您在子网 192.168.1.? 上,这将允许任何连接到您的路由器(有线或 wifi)的 PC 访问服务器。

    你应该避免这些,除非你真的希望全世界都访问你的网站

    Require all granted
    

    或 Apache 2.2 语法,它仍然适用于 Apache 2.4

    Order Deny,Allow   
    Allow from all 
    

    【讨论】:

      猜你喜欢
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2013-11-07
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多