问题描述
我正在使用IIS7.5作为Web服务器在我的计算机上学习PHP,并且在完成301重定向时遇到问题。
I'm learning PHP on my computer with IIS7.5 as the web server and am having a problem completing a 301 redirect correctly.
所有教程和论坛说要使用以下内容:
The tutorials and forums all say to use the following:
Header('Location: ' . $url, true, 301);
OR
Header('Location: ' . $url);
在这两种情况下,浏览器(Chrome和Firefox)都显示以下内容,而不是实际重定向:
In both cases, instead of actually redirecting, the browser (Chrome and Firefox) display this:
Object Moved
This document may be found here
使用FireFox Web开发人员工具栏,我检索了页眉,其中包括:
Using the FireFox web developer toolbar, I retrieved the page headers, which were:
Content-Type: text/html; charset=UTF-8
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.3.5, ASP.NET
Date: Mon, 21 Mar 2011 18:47:35 GMT
Content-Length: 123
301 Moved Permanently
为什么页面不重定向?显示该页面对于用户来说是多余的和烦人的。
Why is the page not redirecting? Displaying that page is kind of redundant and annoying for users.
推荐答案
我弄清楚了。 Location标头必须是自动重定向的绝对路径。如果它是相对路径,则不会重定向。
I figured it out. The Location header must be an absolute path to auto-redirect. If it's a relative path it doesn't redirect.
这篇关于IIS7上的PHP - 接收“对象已移动” html页面而不是实际重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!