Je souhaite rediriger tous les fichiers demandés de dossier-a vers dossier-b. Par exemple. http://www.yoursite.com/folder-a/index.php à http://www.yoursite.com/folder-b/index.php.Réécrire tous les fichiers d'un dossier vers un autre dossier
Comment puis-je faire cela? J'ai vérifié si mod_rewrite fonctionne avec ce code:
RewriteEngine On
RewriteRule ^google.html$ http://www.google.com/ [R=301]
La structure sur l'espace Web est la suivante:
.htacces
| -folder-a
| -folder-b
Mais si je veux que mon dossier redirige
RewriteEngine On
RewriteRule ^/folder-a/(.*)$ http://www.yoursite.com/folder-b/$1 [L,R=301]
la redirection ne fonctionne pas si je saisis le f URL uite:
http://www.yoursite.com/folder-a/
http://www.yoursite.com/folder-a/index.php
La redirection ne se fait pas. Je reste sur la même page ... Qu'est-ce que je fais mal? J'ai aussi essayé avec cette htaccess:
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^folder-a(.*)$ http://www.yoursite.com/folder-b$1 [L,R=301]
</IfModule>
Si tout cela fonctionne, je veux exclure certains fichiers. Par exemple. avec ce htaccess:
RedirectPermanent /folder-a/info.php /folder-b/new-info.php
Modifier:
Maintenant, j'ai essayé ce htaccess
redirectMatch 301 ^/folder-a/ http://www.yoursite.com/folder-b
Cela fonctionne, mais je besoin de quelque chose qui prend tout le chemin et le réécrire dans le nouveau dossier .
Cet exemple ne fonctionne pas:
RewriteRule ^folder-a/(.*)$ folder-b/$1
Solution
J'ai eu un vieux fichier htacess dans mon folder-a
si la redirection n'a pas fonctionné. Ceci est ma dernière htaccess:
Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^folder-a/excludefile1.php http://www.yoursite.com/folder-b/newnameforfile1.php [L,R=301]
RewriteRule ^folder-a/excludefile2.php http://www.yoursite.com/folder-b/newnameforfile2.php [L,R=301]
RewriteRule ^folder-a/(.*)$ http://www.yoursite.com/folder-b/$1 [L,R=301]
</IfModule>
Merci pour votre aide. J'ai essayé mais ça n'a pas marché. Je ne sais pas pourquoi. J'ai mis en place deux dossier de test et y mettre un fichier. Dans mon htaccess j'ai eu le suivant 'RewriteRule^test /(.*)$ http://www.yoursite.com/test2/$1 [L, R = 301]'. Cette redirection a fonctionné. Si je l'adapte à mon vrai dossier, il cesse de fonctionner ... – testing
J'ai trouvé l'erreur. J'avais un vieux .htaccess dans mon dossier. Cela a arrêté la redirection de travail. Je pensais que je l'avais supprimé ... BTW: J'ai supprimé cette règle 'RewriteRule^dossier-a/http://www.yoursite.com/folder-b/ [L, R = 301]' parce que j'ai été redirigé vers folder-b/index.php. – testing