私はblog.example.comを私のブログ投稿のベースとして使いたいのですが、私のページは http://blog.example.com/2013/08/29/sample-post/ とwww.example.com。 www.example.com/about-me/
これを行う簡単な方法はありますか?私はネットワークを作成しようとしましたが、それは私に2つのWordPressインストールを提供します。両方とも投稿とページと彼ら自身の管理ダッシュボードです。私はただ一つのサブドメインへの投稿、もう一方へのページを行きたいです。
私はあなたのために解決策があるかもしれません。
最初のステップ:
あなたが終わったら 最初のステップ 変更がすべて反映されたことを確認するために、少なくとも15分待たなければならない場合があります。
単一の投稿に次の方法でアクセスしたい場合 blog.mydomain.com/xxxx/xx/xx/my-post これで終わりです。しかし、あなたのサイト内のどのページにもアクセスできることに注意してください。 blog.mydomain.com/some-page。たとえば、ユーザーは両方にアクセスできるようになります。 mydomain.com/my-contact-page そして blog.mydomain.com/my-contact-page。
その他、ドメインへの移行 blog.mydomain.com は強制されていません。強制的にしたい場合、.htaccessファイルを編集してwordpressタグの前に次のように挿入する必要があります。
# BEGIN custom redirect
# You might want to change 'blog' to your current blog page slug or to sth else you want!
<IfModule mod_rewrite.c>
# Here we are making sure when the user accesses blog.mydomain.com he will see the blog page content.
RewriteCond %{HTTP_Host} ^blog\.
RewriteCond %{REQUEST_URI} ^\/$
RewriteRule ^.*$ index.php?pagename=blog [L]
# Here we are redirecting mydomain.com/2016/12/16/my-post to blog.mydomain.com/2016/12/16/my-post
RewriteCond %{HTTP_Host} !^blog\.
RewriteRule ^([0-9]{4})\/([0-9]{1,2})\/([0-9]{1,2})\/(.+)\/?$ http://blog.mydomain.com/$1/$2/$3/$4 [L,NC]
# Here we are redirecting mydomain.com/blog to blog.mydomain.com
RewriteRule ^blog\/?$ http://blog.mydomain.com [L,NC]
</IfModule>
# END custom redirect
必要に応じて独自の変更を実行するために、コードスニペットに沿ったコメントに注意を払ってください。
サブドメインを通して他のページが見えないようにしたい場合は、このコードスニペットをfunctions.phpファイルに追加してください。
function Push_redirect() {
$Host = $_SERVER['HTTP_Host'];
// If we are not seeing the subdomain we have no reasons to continue.
if ( !preg_match( "/^blog\./", $Host ) )
return;
// If we are seeing blog homepage or single post we have no reasons to continue.
if ( is_home() || is_singular( 'post' ) )
return;
$site_url = site_url();
$uri = $_SERVER['REQUEST_URI'];
$redirect_to = $site_url . $uri;
wp_redirect( $redirect_to, 302 );
exit;
}
add_action( 'template_redirect', 'Push_redirect', 10 );
私はこれがあなたが探していたものだと思います。
唯一の方法はあなたのmod_rewrite
で.htaccess
を使って固定のURLを変えることだと私は信じます。 http://www.example.com/blog と言って http://blog.example.com
すべての記事の先頭に "blog"を付けます。
.htaccess
ディレクトリ内の/blog
に配置してください。
:
RewriteEngine on
RewriteCond ${HTTP_Host} ^www\.domain\.com$
RewriteRule ^(.*) http://blog.domain.com/$1 [R,L]