web-dev-qa-db-ja.com

Wp-adminページの誤った正規リンク

サブドメインがあります。

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に変更する方法はありますか。 _

4
Muhammad Riyaz

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を削除します /

1
Diego