dossier de remappage de mod_rewrite

J’ai actuellement mis à jour notre site et le nom du dossier image a changé de /img/ à /images/ .

Je reçois toujours des erreurs 404 dans mon journal des erreurs Apache à partir de robots, en essayant d’accéder à l’ancien dossier /img .

J’essaie d’écrire une règle mod_rewrite pour redirect toute tentative d’access à /img/ pour faire référence à /images/ .

C’est ce que j’ai eu jusqu’à présent:

 RewriteRule ^img/?(.*)$ images/$1 [R=301,L] 

Cependant, chaque fois que j’accède à http://mysite.com/img, je reçois toujours ma page 404 (au lieu d’une page interdite que je devrais recevoir pour accéder / images).

Est-ce correct? J’ai une autre règle qui oblige l’utilisation de SSL si cela compte.

Merci beaucoup

Cette règle doit être placée sur votre dossier racine:

 Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{DOCUMENT_ROOT}/images/$1 -d [OR] RewriteCond %{DOCUMENT_ROOT}/images/$1 -f RewriteRule ^img/(.*) /images/$1 [R=302,NC,L] 

Cette règle ne redirecta que les fichiers existants ou les dossiers existants sur http://domain.com/images .

Gardez à l’esprit que vous avez peut-être été mis en cache à partir de tentatives précédentes, puisque vous utilisez R=301 , pour vous assurer que son fonctionnement fonctionne en utilisant un autre navigateur.

Notez que j’utilise R=302 , pour éviter cette mise en cache, une fois que vous confirmez qu’il fonctionne, modifiez-le en R=301 .