重定向过多
我找不到解决方案.基本上,我们使用的是虚荣网址系统,因此它是user.domain.com.可以访问所有文件,如user.domain.com/home.php等.清除cookie时,重定向将起作用,它会提示它们重新登录.但是,当我使用注销时,它仍然有效,但是当他们返回登录链接时,(user.domain.com在用户的登录页面上有一个登录表单供用户使用)将无法正常工作.我得到的错误是
I can't find the solution to this one. Basically we are using a vanity url system so its user.domain.com. All files are accessed like user.domain.com/home.php etc. When you clear cookies the redirects work, it prompts them to login again. But when i use logout, it still works but when they go back to the link to login, (user.domain.com, has a login form on the landing page for the user) it won't work. The error i get is
错误消息:
The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for this address
in a way that will never complete.
This problem can sometimes be caused by disabling or refusing to accept
cookies.
所有会员页面的重定向代码:
Redirect Code for all member pages:
if(!isset($_SESSION['user_name'])) { header("Location: http://$_SERVER[HTTP_HOST]");}
Note: The $_SERVER[HTTP_HOST] captures the user.domain.com value for redirect.
注销代码:
<?php
session_start();
session_destroy();
header( 'Location: $_SERVER[HTTP_HOST]' ) ;
?>
解决此问题的唯一方法是用户清除cookie.
The only way for this issue to go away is if users clear their cookies.
更新:使用logout.php之后,我转到了user.domain.com/home.php成员页面之一,而不是将其重定向到user.domain.com进行登录,这给了我重定向错误.这可能是会话问题还是标题问题?
UPDATE: After using the logout.php i went to one of the member pages user.domain.com/home.php instead of it redirecting to user.domain.com for login it gave me the redirect error. Could this be an issue with the sessions or something with the headers?
我可以增强或添加哪些功能来解决此问题?我尝试了谷歌搜索,但没有发现任何特别的东西.我确实需要一些帮助来解决此问题.谢谢.
What can i enhance or add to fix this? I have tried Googling but haven't found anything particular to this. I really need some help in fixing this. Thanks.
这是我在Safari中收到的错误消息:
This is the error message i get in Safari:
Too many redirects occurred trying to open "http://user.domain.com/home.php".
This might occur if you open a page that is redirected to open another page which then is redirected to open the original page.
浏览器阻止您对服务器进行大量请求.这很可能是由于header()
将您发送到一个页面,然后又将您发送到同一页面(或具有相同header()
的页面).
The browser is stopping you from hammering the server with a bunch of requests. This is most likely due to the header()
sending you to a page which in turn sends you to the same page (or page with the same header()
).