WordPress之前的欢迎页面(子目录安装)

时间:2015-07-23 17:31:20

标签: wordpress .htaccess mod-rewrite

  1. 我将WordPress安装到子目录:example.com/wp

  2. 我使用rewrite rule从我的根URI提供WordPress:example.com

  3. # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
    1. 我想为项目启动提供一个欢迎页面:example.com/welcome.html
    2. 它将有一个简单的欢迎消息,应该重定向到我的WordPress的工作版本。我在WordPress中启用了漂亮的URL。例如,在我的welcome.html页面中,我可以链接到example.com/about,它会显示我的WordPress的关于页面(正如预期的那样)。

      但是,我无法链接到我的WordPress的主页。我为我的WordPress首页使用静态页面(让我们称之为start)。当我链接到example.com/wp时,它会在我的WordPress中发出错误404。当我链接到example.com/start时,它会重定向到我的welcome.html页面。

      听起来很混乱?希望你还在我身边。我真正想要的是:

      a)直接访问example.com的用户应该看到欢迎页面。

      b)他们点击欢迎页面上的链接,然后到我的WordPress主页。

      c)在WordPress中导航时,不应将它们重定向到欢迎页面。

      由于我想在几周后删除欢迎页面,我希望尽可能简单地保留它(没有新的WordPress或类似的首页模板)。

      是否有任何解决方案可以将welcome.html设置为DirectoryIndex并将所有其他请求重定向到我的WordPress安装包括 WordPress主页?我的主要问题是我无法立即访问WordPress主页(example.com/wpexample.com/startexample.com/wp/start工作),与其他任何静态页面不同( example.com/about工作正常。)

1 个答案:

答案 0 :(得分:1)

我最终使用这个单行插件来禁用规范的URL重定向:

        sqlAdapter.Fill(dataTable);
        dataGrid.DataContext = dataTable.DefaultView;

此外,我在常规设置面板上重新配置了WordPress URI。现在我可以同时调用我博客的主页并访问所有子页面,而不会被重定向到错误404.

现在我将<?php remove_filter('template_redirect', 'redirect_canonical'); ?> .htaccess,所以我的访问者首先会看到启动页面。欢迎页面包含指向我的DirectoryIndex welcome.html页面的链接,该页面为WordPress提供服务。博客中的所有链接均有效。

当我的项目启动时,我只需删除index.php,删除上面的插件代码并重置我的常规设置。