【问题标题】:.htaccess file causing Chrome to lose session data.htaccess 文件导致 Chrome 丢失会话数据
【发布时间】:2012-12-15 06:14:32
【问题描述】:

我遇到了一个问题,我的会话数据在 Google Chrome 中丢失了。所有其他浏览器都可以很好地处理会话。

我已将其缩小到我的.htaccess 文件中的以下行:

RewriteRule ^([a-zA-Z0-9-/]+)$ customForest.php?slug=$1 [QSA]

如果我删除此行,会话在 Google Chrome 中可以正常工作。

有人知道这一行中的什么可能导致问题吗?

【问题讨论】:

    标签: php session google-chrome mod-rewrite


    【解决方案1】:

    我猜这是由[QSA] 标志引起的。你可以试试这个:

    RewriteRule .* customForest.php?%{QUERY_STRING} [L]
    

    【讨论】:

    • 这似乎打破了我的所有道路。 .* 是否意味着将其应用于所有文件?
    • http://mydomain.com/customForest.php... 始终是我回答中的 URL,因为从您的问题中无法确定其他任何内容。但是,这只是一个示例,说明如何使用 QUERY_STRING 来捕获查询字符串,而不是带有 QSA 标志的问题中的模式,该标志重复参数两次:slug=parameter&slug=parameter
    • 实际上看起来重写规则开头的 ^ 是导致问题的原因。不是 [QSA]。如果我删除 ^ 并像这样指定一个特定的 slug:RewriteRule test/([a-zA-Z0-9-/]+)$ customForest.php?slug=$1 [QSA] 它可以工作。
    • 当然。没有^,查询字符串只有1个实例,没有[QSA]也会发生同样的情况,但我对证明我是对的讨论不感兴趣。这不是这样做的地方。重要的是现在您知道问题的根源是什么,仅此而已。
    • 同意。非常感谢您的帮助。
    猜你喜欢
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多