我正在用PHP编程。
我想将ht tps://abc.example.com/blah1/blah2重定向到htt ps:// w ww .example.com / blah1 / blah2但我不想重定向htt ps://abc.example.com重定向到ht tps:// ww w.example.com
是否可以在重定向中保留会话信息?
谢谢。
答案 0 :(得分:3)
您可以继续使用现在的重定向,但调整session.cookie_domain
以使用顶级域名(例如example.com)。您可以使用session_set_cookie_params
或在php.ini文件中设置session.cookie_domain
(或php_value
指令后的.htaccess文件中)来执行此操作。这应该允许您的会话信息在您网站的所有子域中持久存在。
答案 1 :(得分:1)
如果您使用cookie作为会话ID,则需要为公共域设置cookie。如果您使用www.example.com
和 foobar
.example.com
,则需要为example.com
设置Cookie,使其对www.example.com
均有效}和 foobar
.example.com
。
答案 2 :(得分:0)
如果您可以使用apache的重定向,则可以尝试
RedirectMatch /(.+) https://www.domain.com/$1
使用PHP将是
<?php
if ($_SERVER['REQUEST_URI'] != "/") {
header("Location: ".$_SERVER['REQUEST_URI']);
exit;
}
?>
关于会话无效,就像Gumbo所说的那样,为主域名而不是特定域名发布了cookie。
答案 3 :(得分:0)
我想你可以通过将你的sessionid发布(POST)到一个新域来重定向,并用你自己的会话处理程序将你的会话数据存储在mysql中。
答案 4 :(得分:-2)
使用javascript重定向。