【问题标题】:Intro page in wordpress for first visit, with htaccess首次访问的 wordpress 介绍页面,带有 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代码吗?

谢谢, 西罗

【问题讨论】:

    标签: html 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 比服务器端会话更持久(只要浏览器打开,它就会持续存在);这反过来可以更好地适合一次性重定向的用例。
    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多