mysite.com 和 www.example.com 之间未维护会话

发布于 2024-09-28 05:29:38 字数 277 浏览 1 评论 0 原文

我正在使用会话来维护网站上不同页面之间的一些变量。虽然当我从 www.example.com/a 移动到 www.example.com/b 时它工作正常,但如果我从 example.com/a 移动到 www.example.com/b 会话变量会丢失

知道我如何可以确保无论有 www 或无 www 都保持会话吗?

该网站在导航到不同页面时会附加一个 www,但即使没有 www,也可以访问这些页面。因此,如果有人手动输入地址并省略该部分,然后导航到页面 b(通过单击链接或提交表单),会话变量就会丢失。

I am using a session to maintain some variables between different pages on my site. While it works fine when I move from www.example.com/a to www.example.com/b, the session variables are lost if I move from example.com/a to www.example.com/b

Any idea how I can make sure the session is maintained irrespective of www or no www?

The website appends a www as it navigates to different pages but the pages are accessible without that as well. So if someone is manually typing in an address and omit that part, and then navigate to page b (by clicking on a link or submitting a form), the session variables are lost.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

合约呢 2024-10-05 05:29:38

合理的方法是将 example.com 重定向到 www.example.com;这样您就可以确保所有访问者都在 www.example.com 中,并且抓取工具不会为具有相同内容的两个页面建立索引。

您可以通过向访问 example.com 的用户发送 301: Moved Permanently 来实现此目的(假设您使用 apache,则必须将其添加到您的 .htaccess代码>):

Redirect 301 http://example.com/ http://www.example.com/

第二个版本:

Redirect 301 http://example.com/(.*) http://www.example.com/$1


抱歉,这是正确的:

Options +FollowSymlinks
RewriteEngine on

rewritecond %{http_host} ^example.com [nc]
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc]

取自此处 http://www.webconfs .com/how-to-redirect-a-webpage.php

The reasonable way to do it is by redirecting example.com to www.example.com; by that you make sure that all your visitors are in www.example.com, and crawlers won't index two pages with the same content.

You do that by sending a 301: Moved Permanently to users accessing example.com (assuming you use apache, you have to add this to your .htaccess):

Redirect 301 http://example.com/ http://www.example.com/

Second version:

Redirect 301 http://example.com/(.*) http://www.example.com/$1


Sorry, this one is right:

Options +FollowSymlinks
RewriteEngine on

rewritecond %{http_host} ^example.com [nc]
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc]

Taken from here http://www.webconfs.com/how-to-redirect-a-webpage.php

各自安好 2024-10-05 05:29:38

您需要确保使用 session_set_cookie_params 将 cookie 设置为 .example.com 而不是 www.example.com,特别是参数 3 - 文档

you need to make sure the cookie is being set to .example.com not www.example.com using session_set_cookie_params, specifically parameter 3 - the domain in the documentation

゛清羽墨安 2024-10-05 05:29:38

会话 ID 存储在 cookie 中。 Cookie 不会从子域转移到子域(例如 www.somesite.com 到 somesite.com)。您可以使用 session_set_cookie_params()< 更改 cookie 参数/a> 或 php.ini

The session ID is stored in a cookie. Cookies don't transfer over from subdomain to subdomain (e.g. www.somesite.com to somesite.com). You can change the cookie params with session_set_cookie_params() or in php.ini

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文