首次访问的 wordpress 介绍页面,带有 htaccess
Posted
技术标签:
【中文标题】首次访问的 wordpress 介绍页面,带有 htaccess【英文标题】:Intro page in wordpress for first visit, with htaccess 【发布时间】:2012-06-18 07:13:13 【问题描述】:我正在尝试为网站制作介绍页面。诀窍是,我只希望用户在第一次访问时被重定向到这里。例如。如果他还没有会话。 (虽然我不熟悉还能使用什么。)有人告诉我 .htaccess 可以解决问题。我使用wordpress引擎。
介绍页面:http://www.example.com/?page_id=5(第一个访问者应该被重定向到这里。) 索引页面下:http://www.example.com/(不应该为引擎的机制而改变。实际上这也是一个自定义页面http://www.example.com/?page_id=1,但被选为wordpress选项中的主页。)
你能帮帮我吗?你能告诉我具体的htaccess代码吗?
谢谢, 西罗
【问题讨论】:
【参考方案1】:你能编辑你的 php 文件吗? php 比 .htaccess 更灵活地处理会话。
基本上可以将一些简单的东西放在 header.php 的顶部(在执行其他任何操作之前)。
<?php
$redirect_url = home_url('/?page_id=5');
if ( !isset($_SESSION['blablabla']) )
$_SESSION['blablabla'] = "blablabla";
wp_redirect($redirect_url);
?>
这样,每当访问任何页面时(因为 wordpress 在请求的页面中包含标题),php 会检查会话(特别是 $_SESSION['blablabla'])是否已设置,如果没有则重定向到主页。
【讨论】:
@xiankai,如果我们需要检查用户的第一次访问,即刚刚注册后,这将如何提供帮助? FYI Googlers 偶然发现:要摆脱“警告:无法修改标头信息 - 标头已发送”错误,将此代码 sn-p 放在 page.php 中的<?php get_header(); ?>
行上方模板而不是 header.php【参考方案2】:
在某些情况下,Cookie 可能比会话变量更可靠:
<?php
$redirect_url = home_url('/welcomepageurlhere');
if ($_COOKIE['returningUser'] == '')
setcookie('returningUser','1');
wp_redirect($redirect_url);
?>
将 sn-p 放在 page.php 模板中 <?php get_header(); ?>
行的上方。
【讨论】:
我不确定 cookie 如何比会话更可靠,因为后者存储在服务器上,因此独立于浏览器;但如果你选择走这条路,我建议专门指定setcookie 的第四个参数,以确保它适用于整个域。 根据我的经验,我遇到了会话超时服务器端和会话变量丢失的问题。除非您明确指定超时setcookie('name', 'val', time () + 60 * 60 * 24 * 365);
,否则 Cookie 不会超时。它们的可靠性与浏览器无关,你是对的,我编辑了我的答案以反映这一点。
你说得对,cookie 比服务器端会话更持久(只要浏览器打开,它就会持续存在);这反过来可以更好地适合一次性重定向的用例。以上是关于首次访问的 wordpress 介绍页面,带有 htaccess的主要内容,如果未能解决你的问题,请参考以下文章
在我的 wordpress 网站中,该网站已关闭,它只显示带有密码字段的空白页面