web-dev-qa-db-fra.com

Aide à la configuration multisites - domaine/sous-site standard redirige toujours le domaine avec subdir multisite

J'ai mis en place un multisite wp basé sur des chemins en utilisant des sous-répertoires pour chaque site. Tout fonctionne bien sauf si le sous-site est accessible sans www. Par exemple -

//mainsite/subsite redirige toujours vers //mainsite"

//www.mainsite/subsite" redirige toujours vers //www.mainsite/subsite"

J'aimerais que des requêtes soient effectuées sans le www pour rediriger également vers le sous-site.

i.e //mainsite/subsite" rediriger vers //www.mainsite/subsite"

J'ai essayé les règles htaccess - mais rien ne semble fonctionner

Rewritecond %{HTTP_Host} !^www\. [NC]
RewriteCond %{REQUEST_URI} ^/subsite/$1  [NC]
RewriteRule ^www.mainsite.com/subsite/$1 [L,R=301]

Tous les caractères génériques sont configurés dans DNS pour accéder directement à www et Apache config a un domaine simple comme nom de serveur avec l'alias de www.

Quelqu'un a-t-il déjà rencontré cela?

Toutes mes excuses pour le code - je ne peux apparemment pas publier plus de deux liens http, alors supposez que tout ce qui a un // soit précédé d'un http:.

1
user88618

Tu es proche.

J'ai ajouté quelques emplacements supplémentaires pour capturer davantage de scénarios et j'ai utilisé la variable HTTP_Host dans la règle. Le $1 n'est pas nécessaire dans la condition car cela correspond à ce qui est capturé dans la condition ci-dessus.

<IfModule mod_rewrite.c>
    RewriteEngine On
    Rewritecond %{HTTP_Host} !^www\.(.*)$ [NC] 
    RewriteCond %{REQUEST_URI} ^/subsite/? [NC] 
    RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [L,R=301]
</IfModule>

Je recommande la vérification .htaccess de Made With Love pour vérifier vos tests.

1
MikeNGarrett