0

我在这里遇到了一个奇怪的问题。

我将会话变量设置$_SERVER['REQUEST_URI']为我网站每个页面上的值,登录页面除外。这样,我可以将用户重定向回他们在登录之前所在的任何页面。

它在每种情况下都可以正常工作,除了最近我在页脚和图像中破坏了图像404。现在,$_SERVER['REQUEST_URI']似乎正在抓取无法加载的图像的 URL,而不是用户所在的页面,因此我的登录表单现在正试图将用户重定向到不存在的图像。

显然,加载失败的文件并不理想,但有谁知道为什么这个服务器变量会取最后一个失败请求的值而不是当前页面?

4

1 回答 1

2

您已配置mod_rewrite.htaccess通过 php 脚本处理不存在的文件。

由于您的图像已经消失,与此图像匹配的 URI 也由存储$_SERVER['REQUEST_URI']到会话的此脚本处理。所以,它存储了请求页面的 URI,然后用请求的和不存在的图像 URI 重写它,因为浏览器最后请求资源。

要解决此问题,您必须在将图像、css、javascript 的 URL 存储到会话之前过滤它们,或者避免出现从结果页面指向不存在资源的情况。

于 2013-03-07T16:07:11.893 回答