Situation
/A
et secend dans le répertoire /B
domain.com
et "B" utilise subdomain.domain.com
Question
.htaccess
pour Wordpress sur un seul domaine dans chaque répertoire Wordpress ou dois-je utiliser une configuration spéciale pour un sous-domaine dans chaque répertoire Wordpress?Domaine
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
SubDomain
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
.httaccess
?Sous-dossier
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Ma suggestion est la suivante: utilisez la même configuration .htaccess
standard pour Wordpress sur un seul domaine dans chaque répertoire Wordpress.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Ajoutez à cela un petit CODE pour vous assurer que les utilisateurs sont redirigés vers le bon domaine s'ils accèdent à ce sous-répertoire via un autre domaine:
RewriteCond %{HTTP_Host} !^domain\.com$
RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L]
Après cela, votre .htaccess
pour domain.com
sera comme:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} !^domain\.com$
RewriteRule ^(.*)$ "https://domain.com/$1" [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
et pour subdomain.domain.com
, ce sera comme:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} !^subdomain\.domain\.com$
RewriteRule ^(.*)$ "https://subdomain.domain.com/$1" [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
L'utilisation de CODE standard est recommandée car il est plus facile de maintenir et de déboguer, car c'est la même chose partout.
Les deux lignes supplémentaires sont recommandées principalement pour SEO
. Sans eux, un de vos domaines peut être accessible via un autre domaine. Cela peut soulever une question de contenu en double.