虚拟主机行为不正常


Virtual Host Not Behaving Properly

这个问题已经困扰了我好几天,我真的需要一个答案。我有一个以前的 WAMP 服务器,我已经在其中正确配置了,因此我可以为我构建的应用程序设置虚拟主机。几个月来,它为我提供了很好的服务。

最近,有一个软件,我认为是一个恶意软件,在我的电脑中运行。该软件被删除,我扫描了电脑,没有病毒。

我重新安装了WAMP服务器并再次配置了它。一切顺利,但虚拟主机行为不正常。

这些是我宣布的:

在 httpd-vhost 中:

<VirtualHost *:80>
    ServerAdmin #removed
    DocumentRoot "c:/wamp/www/Thesis"
    ServerName pixtcha.dev
        <Directory "c:/wamp/www/Thesis">
            Options Indexes FollowSymLinks
            AllowOverride all
            Order Deny,Allow
        </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin #removed
    DocumentRoot "c:/wamp/www/mvc-pe-system/web"
    ServerName copers.com
        <Directory "c:/wamp/www/mvc-pe-system/web">
            Options Indexes FollowSymLinks
            AllowOverride all
            Order Deny,Allow
        </Directory>
</VirtualHost>

在我的主机文件中:

127.0.0.1   pixtcha.dev
127.0.0.1   copers.com
  1. 问题是,我能够正确访问 pixtcha.dev 并且没有问题,而 copers.com 无法访问,当我输入它时,它会将我从网络重定向到某个网站。我只是不明白为什么会这样。如果本地文件损坏,我什至尝试刷新 dns,但我就是想不通。

  2. 另外,我尝试使用以前的虚拟主机中的服务器名称,它们也都无法访问。他们给我:

    http://copers.edu.ph is not available
    

所以我求助于使用新的服务器名称,但我不明白为什么我不能使用以前的 WAMP 配置中的以前的服务器名称。 :(

您认为问题是什么?以及如何解决它们?请帮忙。提前谢谢。

好的,

这里有几件事可能会有所帮助。

由于Apache 2.4是IPV4和IPV6,因此您需要像这样更改HOSTS文件,因此如果浏览器决定使用IPV6,它就知道在哪里可以找到您的域。我希望我知道是什么控制了浏览器的决定,但我不知道。

127.0.0.1   localhost
127.0.0.1   pixtcha.dev
127.0.0.1   copers.com
::1   localhost
::1   pixtcha.dev
::1   copers.com

更改此文件后,不要忘记重新启动dnscache或重新启动。从命令窗口中,使用"以管理员身份运行"选项开始,执行以下 2 个命令以重新启动dnscache

net stop  dnscache
net start dnscache

此外,在创建虚拟主机时,默认主机(如 httpd.conf 中定义)将被忽略,因此您需要为本地主机添加 VHOST 定义。

此外,您在VHOST定义中使用了旧的Apache 2.2语法,这是不正确的,并且应该更改为Apache 2.4语法

此外,最好坚持目录名称的小写,Windows不在乎,但是如果您将代码移动到Unix实时服务器,则可能会导致混乱。

# Should be the first VHOST definition so that it is the default virtual host
# Also access rights should remain restricted to the local PC and the local network
# So that any random ip address attack will recieve an error code and not gain access
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin #removed
    DocumentRoot "c:/wamp/www/thesis"
    ServerName pixtcha.dev
    <Directory "c:/wamp/www/thesis">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin #removed
    DocumentRoot "c:/wamp/www/mvc-pe-system/web"
    ServerName copers.com
    <Directory "c:/wamp/www/mvc-pe-system/web">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>

检查并确保 copers.com 根目录(index.php?)中的脚本(PHP?)没有重定向到这些外部URL,或者重定向到本地站点内部的URL,这些URL也会重定向到外部。

同样在 Chrome 中,您可以打开开发者工具的"网络"标签页,查看实际发出的网络请求以及顺序。