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
.