サブドメインがあります。
https://blog.example.com/
強制的にディレクトリにリダイレクトします。
https://www.example.com/blog
サイトのURLと.htaccessのRewriteRuleを変更する。
私の.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
RewriteCond %{HTTP:X-Forwarded-Host}i ^example\.com
RewriteCond %{HTTP_Host} ^blog\.example\.com$
RewriteRule ^/?(.*)$ https://www.example.com/blog/$1 [L,R=301,NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://www.example.com/blog/$1 [L,R=301,NC]
</IfModule>
私のワードプレスのアドレスとサイトのアドレスは次のとおりです。
WordPressアドレス(URL):/blog
サイトアドレス(URL):https://www.example.com/blog
今ウェブサイトはうまく働いています、しかし私はすべての管理者ページでwp-admin標準URLに誤りを見つけました:
Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL 'blog.example.com/wp-admin/index.php'; cannot be created in a document with Origin 'example.com'; and URL 'example.com/blog/wp-admin/index.php';
さらに掘り下げてみると、正規リンクはまだサブドメイン(blog.example.com)であることがわかりました。
<link id="wp-admin-canonical" rel="canonical" href="http://blog.example.com/wp-admin" />
<script>
if ( window.history.replaceState ) {
window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash );
}
</script>
この標準的なURLをhttps://blog.example.comからhttps://www.example.com/blogに変更する方法はありますか。 _
wp-admin-canonicalは broken です。これはWordPressのインストール方法を想定しているためです。
それを修正するプラグインがありましたが、そのプラグインはどうやらプラグインリポジトリから削除されました。それはまだgithubとpluginmirrorです: https://github.com/wp-plugins/remove-wp-canonical-url-admin-hackhttp://www.pluginmirror.com/plugins/ -wp-canonical-url-admin-hackを削除します /