我的网站存在问题,我一直不确定如何修复,只是因为它不是经常发生的。有时它确实如此,有时却没有。
问题与会话和重定向有关。我正在做的是,当用户完成任务时,他们被重定向。当它们被重定向时,会设置$ _SESSION,并显示一条消息,说明他们所做的事情已经完成。一旦用户被重定向到的页面加载,并且没有显示消息,则包含该消息的会话变量将被取消设置,因为页面在最终显示给用户之前刷新。奇怪的是,对于一个特定的重定向(当用户使用Facebook Connect登录时)它可以工作,但对于所有其他重定向,它不起作用。
我最近的想法是因为我使用的是mod_rewrite。 mod_rewrite可以使页面在浏览器中显示之前刷新吗?
以下是我用于URL重写的代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [L]
答案 0 :(得分:1)
没有。 mod_rewrite告诉apache获取与您的规则匹配的传入请求(在响应发送给您之前),并将其路由到特定目标。这就像邮件转发 - 你没有收到两次这封信,你只是把它放在不同的位置。
更新添加解决方案
您可能会在header
调用重定向后执行某些操作。 <{1}}之后添加对exit
的调用,您的问题应该得到解决。