sur mon site Wordpress, je dois
http://example.com/page1/
rediriger vers
http://site.example.com/page1/
J'ai essayé ceci:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} ^example\.com$ [OR]
RewriteCond %{HTTP_Host} ^www\.example\.com$
RewriteRule ^page1$ "http\:\/\/site\.example\.com\/page1\/" [R=301,L]
</IfModule>
Ce qui précède n'a pas fonctionné. J'ai également enlevé les guillemets doubles et les barres obliques d'échappement et juste mettre directement l'URL, mais sans succès. Je vais vraiment apprécier l'aide.
http://example.com/page1/
RewriteRule ^page1$ ....
Il vous manque une barre oblique à la fin du RewriteRule
motif. Essayez ce qui suit dans le fichier .htaccess
à la racine du document example.com
. Cela devra aller avant tous les WordPress existants.
RewriteEngine On
RewriteCond %{HTTP_Host} ^(www\.)?example\.com$ [NC]
RewriteRule ^page1/$ http://site.example.com/page1/ [R=301,L]
J'ai également supprimé les guillemets et les barres d'échappement ...
Oui, pas besoin de la pléthore de backslash échappe. Cela ressemble à l'une des tentatives de cPanel.
Aussi, pas besoin de l'encapsuleur <IfModule>
, à moins que cela ne soit censé "fonctionner" sans que mod_rewrite soit installé?
La directive RewriteBase
est également superflue ici. (Notez que vous ne devriez avoir qu'une directive RewriteBase
dans votre fichier .htaccess
- WordPress l'écrit déjà.)
Vous pouvez également essayer cette solution en remplaçant la règle de réécriture par la ligne ci-dessous dans le fichier .htaccess.
Redirect /page1/ http://site.example.com/page1/