Php 使用301重定向仅重定向WordPress主页
我有一个博客,比如说Php 使用301重定向仅重定向WordPress主页,php,wordpress,.htaccess,redirect,Php,Wordpress,.htaccess,Redirect,我有一个博客,比如说example.com,另一个博客安装在example.com/np中,它不是多站点的,而是不同的WordPress安装 我想要的是将example.com主页重定向到example.com/np。如果重定向是一个301移动的永久重定向,那就太好了 如果我将301重定向放在WordPress头文件中,header.php,它将重定向每个页面。如果我检查页面是否在首页,并尝试301重定向,这是不可能的,因为标题重定向应该放在顶部 如何实现这一点?您可以使用Wordpress功能
example.com
,另一个博客安装在example.com/np
中,它不是多站点的,而是不同的WordPress安装
我想要的是将example.com
主页重定向到example.com/np
。如果重定向是一个301移动的永久重定向,那就太好了
如果我将301重定向放在WordPress头文件中,header.php
,它将重定向每个页面。如果我检查页面是否在首页,并尝试301重定向,这是不可能的,因为标题重定向应该放在顶部
如何实现这一点?您可以使用Wordpress功能检测您是否在主页上: 家在哪里
您可以使用Wordpress功能检测您是否在主页上: 家在哪里
您不想在Wordpress模板或代码中混淆视听,只需在
中使用一个mod_重写规则即可。htaccess
:
RewriteRule / /np [R=301,L]
如果已存在,则将其放在行上的重写引擎下方,否则将其作为一个单独的行添加到重写规则
行上方
此解决方案易于移动、易于维护、可移植,性能优于在模板或WP代码中使用PHP,并且可以保存模板更新。您不想在Wordpress模板或代码中混淆视听,只需在中使用一个mod_重写规则即可。htaccess
:
RewriteRule / /np [R=301,L]
如果已存在,则将其放在
行上的重写引擎下方,否则将其作为一个单独的行添加到重写规则
行上方
此解决方案易于移动、易于维护、可移植,其性能优于在模板或WP代码中使用PHP,并且能够保存模板更新。您可以将WordPress的功能与状态代码一起使用。在wordpress初始化钩子上添加以下代码
if ( is_home() ) {
wp_redirect( $location, $status );
exit;
}
您可以将WordPress的功能与状态代码一起使用。在wordpress初始化钩子上添加以下代码
if ( is_home() ) {
wp_redirect( $location, $status );
exit;
}
您可以使用或函数重定向主页 您可以使用或函数重定向主页 将以下内容放入functions.php
文件中:
add_action( 'get_header', 'so16738311_redirect', 0 );
function so16738311_redirect()
{
if( is_home() || is_front_page() ) {
wp_redirect( home_url( '/np/' ), 301 );
exit;
}
}
将以下内容放入functions.php
文件中:
add_action( 'get_header', 'so16738311_redirect', 0 );
function so16738311_redirect()
{
if( is_home() || is_front_page() ) {
wp_redirect( home_url( '/np/' ), 301 );
exit;
}
}
由于您处于WordPress的上下文中,因此可以利用它的重定向功能
像这样(在functions.php中):
function redirect_homepage() {
if( ! is_home() && ! is_front_page() )
return;
wp_redirect( 'http://redirect-here.com', 301 );
exit;
}
add_action( 'template_redirect', 'redirect_homepage' );
由于您处于WordPress的上下文中,因此可以利用它的重定向功能
像这样(在functions.php中):
function redirect_homepage() {
if( ! is_home() && ! is_front_page() )
return;
wp_redirect( 'http://redirect-here.com', 301 );
exit;
}
add_action( 'template_redirect', 'redirect_homepage' );
Options+FollowSymLinks
重新启动发动机
重写规则(.*)http://www.Your 域名/$1[R=301,L]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
Options+FollowSymLinks
重新启动发动机
重写规则(.*)http://www.Your 域名/$1[R=301,L]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
只需将其放在WordPress安装的index.php
文件的最顶端:
if($_SERVER['REQUEST_URI'] == "/"){
include('......server file directory to file you want to redirect to');
exit;
}
只需将它放在wordpress安装的index.php
文件的最顶端:
if($_SERVER['REQUEST_URI'] == "/"){
include('......server file directory to file you want to redirect to');
exit;
}
这对于正常重定向是可能的,但据我所知,301重定向在这段代码中是不可能的。如果我不正确,请纠正我。WordPress为此wp\u重定向提供了一个功能:这对于正常重定向是可能的,但据我所知,301重定向在此代码中是不可能的。如果我不正确,请纠正我。WordPress为这个wp\u重定向
提供了一个功能:这可能是最好的答案-如果你计划保持主题最新,你就不必担心重写代码+1我希望看到使用wp\u redirect
,并将重定向代码保留在子主题中。如果使用子主题(这是更改主题行为的推荐方法),则更新主题代码不会成为问题:。htaccess
也可以通过更新permalink结构来覆盖。这意味着其中有一个RewriteBase/
,我不知道;)我设置了这个规则,首先它不起作用,其次它破坏了我的网站。我有一个MU安装这可能是最好的答案-如果你打算让你的主题保持最新,你就不必担心重写代码+1我希望看到使用wp\u redirect
,并将重定向代码保留在子主题中。如果使用子主题(这是更改主题行为的推荐方法),则更新主题代码不会成为问题:。htaccess
也可以通过更新permalink结构来覆盖。这意味着其中有一个RewriteBase/
,我不知道;)我设置了这个规则,首先它不起作用,其次它破坏了我的网站。我有一个MU安装它实际上更适合于连接template\u redirect
:它实际上更适合于连接template\u redirect
:不过你还没有回答他的问题。他想知道如何从主页重定向,而不仅仅是确定是否请求主页。:)不过,你还没有回答他的问题。他想知道如何从主页重定向,而不仅仅是确定是否请求主页。:)永远不要更改WordPress核心代码。版本升级后可能会中断。请不要更改WordPress核心代码。版本升级后可能会中断。