Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用301重定向仅重定向WordPress主页_Php_Wordpress_.htaccess_Redirect - Fatal编程技术网

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核心代码。版本升级后可能会中断。