首次访问的 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 中的 &lt;?php get_header(); ?&gt; 行上方模板而不是 header.php【参考方案2】:

在某些情况下,Cookie 可能比会话变量更可靠:

<?php
$redirect_url = home_url('/welcomepageurlhere');
    if ($_COOKIE['returningUser'] == '') 
        setcookie('returningUser','1');
        wp_redirect($redirect_url);
    
?>

将 sn-p 放在 page.php 模板中 &lt;?php get_header(); ?&gt; 行的上方。

【讨论】:

我不确定 cookie 如何比会话更可靠,因为后者存储在服务器上,因此独立于浏览器;但如果你选择走这条路,我建议专门指定setcookie 的第四个参数,以确保它适用于整个域。 根据我的经验,我遇到了会话超时服务器端和会话变量丢失的问题。除非您明确指定超时 setcookie('name', 'val', time () + 60 * 60 * 24 * 365);,否则 Cookie 不会超时。它们的可靠性与浏览器无关,你是对的,我编辑了我的答案以反映这一点。 你说得对,cookie 比服务器端会话更持久(只要浏览器打开,它就会持续存在);这反过来可以更好地适合一次性重定向的用例。

以上是关于首次访问的 wordpress 介绍页面,带有 htaccess的主要内容,如果未能解决你的问题,请参考以下文章

在我的 wordpress 网站中,该网站已关闭,它只显示带有密码字段的空白页面

实践利用宝塔搭建wordpress个人网页

使用带有 Wordpress 插件的 ajax 重新加载

PHP 带有子页面摘录的WordPress父页面

支持中文的WordPress缓存加速优化插件WP Fastest Cache

带有不同小部件的 Wordpress 不同产品类别页面