J'ai un sous-domaine:
https://blog.example.com/
Je redirige de force vers le répertoire:
https://www.example.com/blog
En modifiant l’URL du site et certains RewriteRule sur .htaccess.
Mon .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>
Mon adresse wordpress et l'adresse du site sont:
Adresse WordPress (URL) : /blog
Adresse du site (URL) : https://www.example.com/blog
Maintenant, le site Web fonctionne bien, mais j'ai trouvé une erreur dans l'URL canonique de wp-admin sur toutes les pages de l'administrateur:
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';
Quand je creuse davantage, je trouve que le lien canonique est toujours un sous-domaine ( 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>
Existe-t-il une solution pour changer cette url canonique dehttps://blog.example.comàhttps://www.example.com/blog
wp-admin-canonical est broken , car il suppose que WordPress est installé.
il y avait un plugin pour le réparer, mais le plugin a apparemment été retiré du référentiel de plugins. Il est toujours sur github et pluginmirror cependant: https://github.com/wp-plugins/remove-wp-canonical-url-admin-hackhttp://www.pluginmirror.com/plugins/ remove-wp-canonical-url-admin-hack/