【问题标题】:Two different sessions on www.domain and domainwww.domain 和 domain 上的两个不同会话
【发布时间】:2016-03-14 17:11:57
【问题描述】:

我的网站上有一个问题,当我在 www.domain 上时 - 会话与我的域会话不同。

我的网站建立在 Laravel 之上。我该如何解决这个问题? 这是我的 .htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    # Sets the HTTP_AUTHORIZATION header removed by apache
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]


    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/index.php [L]
</IfModule>

【问题讨论】:

  • 据我所知,会话不能跨域或子域工作。
  • 您应该使用 301 重定向将一个重定向到另一个,除非它们是单独的站点,否则您不应将两者分开操作。
  • @Pitchinnate 如何从 www 版本重定向?
  • 只要做一个谷歌或 Stackoverflow 搜索,你会发现成千上万的例子。

标签: php .htaccess laravel session


【解决方案1】:

我不知道 laravel 是否会根据域更改会话名称,但您始终可以查看 config/session.php 文件。文档太棒了!

https://laravel.com/docs/5.2/session

Obs:Laravel 默认使用会话文件,而不是默认的 php 会话。我不知道 .htaccess 是否会影响它,可能不会。

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多