如何将虚拟页面(例如/博客)重定向到主页?

时间:2011-05-19 作者:futlib

我想在输入url时访问我的网站主页,如:

http://example.com/blog

然而,我似乎无法使用典型的重写规则:

RewriteRule ^/blog$ /
我总是被带到我网站的404页面。

如果我指定一个特定的文件(例如“/foo.html”)而不是“/”,那么效果很好,但是“/index.php”不起作用。

我怎样才能做到这一点?

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

重定向必须是301,而不是内部请求。否则,WordPress将搜索一个名为blog.
而且您不需要mod\\u重写。

# Apache 1.3 needs a complete URL
RedirectMatch Permanent ^/blog$ http://example.com/

# Apache 2.x needs just the path
RedirectMatch Permanent ^/blog$ /

SO网友:Mamaduka

会是什么example.com? 如果您将WordPress用作CMS,并且您想在example.com/blog 只需创建静态首页。有关更多信息,请参阅codex页-Creating a Static Front Page

SO网友:Jan Fabry

您可以通过.htaccess 文件)制作/blog/ 呈现最新的博客帖子:

add_action( \'init\', \'wpse17663_init\' );
function wpse17663_init()
{
    add_rewrite_rule( \'blog/?$\', \'index.php?post_type=post\', \'top\' );
}
添加此代码后刷新重写规则(例如,通过访问Permalinks页面)。

结束

相关推荐

Excerpts for Pages

我使用WP GUI中的“更多”按钮在页面中插入了一段摘录。我有一个自定义循环页面。我想从中显示摘录的php。但它似乎是空的?是否可以显示子页面的摘录?$pageChildren = get_pages(\'sort_column=menu_order&hierarchical=0&child_of=\'.$post->ID); if ( $pageChildren ) { foreach ( $pageChildren as $pageChild ) {