有效的链接:
http://me.em360send.com/login/forgotPassword
同一服务器(IP 地址)上的链接不起作用:
http://54.86.5.204/login/forgotPassword
根据访问日志,即使请求了完全相同的页面,一个请求也是成功的,而另一个请求则失败了。
me.em360send.com:80 120.60.198.212 - - [12/Sep/2014:10:25:14 +0000] "GET /login/forgotPassword HTTP/1.1" 200 1336 "-" "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"
120.60.198.212 - - [12/Sep/2014:10:25:32 +0000] "GET /login/forgotPassword HTTP/1.1" 404 509 "-" "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0"
这意味着主机的配置方式使得来自特定域的请求将被接受。这是怎么做到的?
到达 Apache 服务器但与实际定义的虚拟主机名不匹配的请求将被映射到配置的第一个虚拟主机。如果此虚拟主机不包含
/login/forgotPassword
文件,则会导致错误。指向 IP 地址而不是主机名的请求通常与虚拟主机定义不匹配,因此适用此规则。第一个定义的虚拟主机是在解析配置文件时遇到的第一个虚拟主机。对于在
include
ed 配置文件中定义的虚拟主机,它将是文件名在字母表中排在第一位的虚拟主机,这就是这些文件通常编号为01-example.com.conf
.在您的情况下,您似乎有一个优先级更高的虚拟主机,其中此路径名无效。
您可以获得包含所有已定义虚拟主机的列表和默认虚拟主机列表
链接到 apache 文档