我尝试在确认登录凭据后将用户重定向到新页面,但由于某种原因,重定向无效。它似乎与我的header.php
文件有关。当我在之前包含重定向时,它可以正常工作;但是如果我尝试在此文件之后包含它,它就不起作用。
我已尝试将重定向添加到header.php
本身,当我将其直接包含在<html>
标记之前时,它可以正常工作(我说工作正常,但它会产生错误,而不是它否则; Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
)。
我已经检查了所有文件的空白等,这使我找到了与header.php
相关的问题。 header.php
导致此问题的原因是什么,考虑到它在 HTML标记之前启动,而在之后 之后启动?
<html>
<head>
<title><?php echo $pageTitle; ?></title>
<link rel="stylesheet" href="<?php echo BASE_URL; ?>css/style.css" type="text/css">
<link rel="stylesheet" href="<?php echo BASE_URL; ?>css/property.css" type="text/css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald:400,700" type="text/css">
<link rel="shortcut icon" href="<?php echo BASE_URL; ?>favicon.ico">
</head>
<body>
<div class="header">
<div class="wrapper">
<h1 class="branding-title"><a href="<?php echo BASE_URL; ?>">Some title</a></h1>
<ul class="nav">
<?php
/* list items with a class of "on" indicate the current section; those links
* are underlined in the CSS to communicate that back to the site visitor;
* the $section variable is set in each individual file
*/
?>
<li class="shirts <?php if ($section == "shirts") { echo "on"; } ?>"><a href="<?php echo BASE_URL; ?>shirts/">Shirts</a></li>
<li class="contact <?php if ($section == "contact") { echo "on"; } ?>"><a href="<?php echo BASE_URL; ?>contact/">Contact</a></li>
<li class="search <?php if ($section == "search") { echo "on"; } ?>"><a href="<?php echo BASE_URL; ?>search/">Search</a></li>
<li class="cart"><a target="paypal" href="XYZ">Shopping Cart</a></li>
</ul>
</div>
</div>
<div id="content">
答案 0 :(得分:0)
虽然当我把它放在标签之前时标题确实有用,但它在其他地方不起作用。
这实际上是你的问题。只能在发送正文之前设置标题。您只需要将重定向保留在任何页面内容之上。
这是HTTP响应的结构:
HTTP/1.1 200 OK
Header-1: bacon
Header-2: more bacon
<html>
<head>
<title>Bacon</title>
...
重定向是HTTP标头,特别是Location
标头。在你已经发送数据后你不能设置它(你可以,但它很奇怪和复杂)。您应该在代码中的某处发现错误,假设您在某处有错误报告。
关于你的其他问题......
Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。
那是因为你在循环中重定向(即重定向到重定向重定向回自身)。如果您的重定向位于header.php
,假设您在页面上包含该重定向,那么您可能也是问题。