3

私はブログを持っています。たとえば、マルチサイトではなく別の WordPress インストールであるexample.com別のブログがインストールされています。example.com/np

私が欲しいのは、example.comホームページをにのみリダイレクトすることexample.com/npです。そのリダイレクトが 301 移動された永続的なリダイレクトであるとしたら、それは素晴らしいことです。

WordPress ヘッダー ファイルに 301 リダイレクトを配置すると、header.phpすべてのページがリダイレクトされます。また、ページがホームであるかどうかを確認して 301 リダイレクトを試みると、ヘッダー リダイレクトを一番上に配置する必要があるため、これは不可能です。

これを達成する方法は?

4

8 に答える 8

4

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;
    }
}
于 2013-05-24T15:22:52.703 に答える
1

WordPress のwp_redirect関数をステータスコードで利用できます。wordpressのinitフックに次のコードを追加します

if ( is_home() ) {
    wp_redirect( $location, $status );
    exit;
}
于 2013-05-24T15:22:08.223 に答える
1

Options +FollowSymLinks

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*) http://www.Your domain/$1 [R=301,L]
</IfModule>

# 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

于 2015-01-24T21:28:05.710 に答える
0

is_home() またはis_front_page()関数を使用して、ホームページをリダイレクトできます。

于 2013-05-24T15:22:47.463 に答える
-2

index.phpこれを、WordPress インストールのファイルの一番上に置くだけです。

if($_SERVER['REQUEST_URI'] == "/"){
    include('......server file directory to file you want to redirect to');
    exit;
}
于 2018-05-08T21:58:27.437 に答える