gpt4 book ai didi

windows - 在带有 IIS 的 Windows 上迁移后 Zend 应用程序重定向不起作用

转载 作者:可可西里 更新时间:2023-11-01 12:43:43 26 4
gpt4 key购买 nike

我的应用程序是使用在 Linux 中运行良好的 Zend 1.11 开发的。根据要求,我将应用程序移动到具有 IIS 7、PHP 5.4.39、MSSQL Server 2012 的 Windows 7。

问题是提交登录凭据后,用户不会重定向到主页,而是停留在同一(登录)页面上。调试源代码后,我知道用户已成功从数据库中进行身份验证,但是在将用户重定向到索引 Controller 后,用户被发送回登录页面。即使 iis 日志未显示任何错误,应用程序也未显示任何错误。

我认为这可能是与 URL 重写相关的问题。因此,我在 IIS 上安装了“URL 重写”模块并导入了 .htaccess 文件以获取等效的 URL 重写规则以将其添加到 web.config 文件中,但它也不起作用。

在我的应用程序中, session 被保存到数据库中。我无法将其更改为保存在服务器(文件)上,因为这是一个现有的应用程序。但是 session 正在成功写入和读入/读出数据库。我唯一猜测 session 在页面重定向时过期的原因。但不确定如何解决这个问题。

如有任何帮助,我们将不胜感激。

编辑

正在生成 Cookie,如下所示 enter image description here

我是否缺少 IIS 中 cookie/ session 的配置?使用 IIS Web 服务器时,php.ini 中 Session 和 Cookies 的理想配置是什么?

最佳答案

当您的 cookie 无法识别时,重新重定向到登录页面是正确的行为。很可能在发出 cookie 时出现问题 - cookie 域/路径配置错误(您需要从 IIS 重写 url 吗?)

解决根本原因的第一步是确定登录和重定向 header 是否存在并正确地一直发送到浏览器。

您应该嗅探/捕获 http 流量以查看最终 header (使用 chrome/firefox 的“实时 HTTP header ”扩展)。您还可以在此处发布相应登录操作/发布方法的请求/响应 header 示例。

序列应该包含一个响应头“Set-Cookie: PHPSESSID=.........”。记下 cookie 路径/域的值。以及像“位置:/重定向/路径”这样的重定向 header 。

如果一切配置正确,所有后续请求都应包含请求 header “Cookie: PHPSESSID=.....”。否则,您需要检查您的 IIS 配置(域/路径的 url 重写/反向以确保发出的 cookie 匹配 future 的请求)。

要配置 IIS url 重写/反转规则,请参阅 http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-20-configuration-reference#Setting_Response_Headers

关于windows - 在带有 IIS 的 Windows 上迁移后 Zend 应用程序重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com