WordPressでサイト外からのアクセスをサイト内の指定のページにリダイレクトさせる

サイト外からトップページ以外にアクセスするとトップページにリダイレクト

小説サイト16869で使用中
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^$ - [L]
RewriteRule ^wp-admin/.* - [L]
RewriteRule ^wp-content/.* - [L]
 
RewriteCond %{HTTP_REFERER} ^http://***.com/.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
 
RewriteCond %{HTTP_REFERER} ^http://***.com/.*
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [L]
 
RewriteRule ^(.*)$ http://***.com/ [R=302,L]
</IfModule>



サイト外から<!--nextpage-->で分割した2ページ目以降にアクセスすると1ページ目にリダイレクト

当サイト56stationで使用中
founction.php
add_action( 'pre_get_posts', 'mytheme_single_login' );
function mytheme_single_login( $query ) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
 
    if ( $query->is_single() ) {
        if ( ! empty( $query->query_vars['page'] ) ) {
		$referer = wp_get_referer();
		$url = parse_url($referer);
		$host = "http://".$url['host'];
            if ( $host != site_url()) {
                wp_redirect( get_permalink( $query->query_vars['p'] ) );
                exit;
            }
        }
        return;
    }
}

参考:WordPressでページ分割して2ページ目以降はログインしないと見れないパターン


02/08 人間の愚かさを教えてくれる『フランケンシュタインの誘惑』が好きすぎる

はじめてこのサイトに来た方への案内所はこちら

類似記事

Copy&Paste


本文のコピペやスクショはしないでください