réécrire le chemin de l’image vers un autre chemin et refuser tout chemin d’origine

Toutes mes excuses si mon titre n’est pas assez descriptif de mon problème.

J’essaie de bloquer l’access à une certaine section d’un site Web (la zone d’administration) en utilisant htaccess Deny from all . Il y a des ressources à l’intérieur de cette zone refusée qui doivent encore être accédées sur le front-end, donc j’ai quelques réécritures qui fonctionnent, jusqu’à ce que Deny from all soit ajouté.

Mes images vivent réellement ici: /wordpress/wp-content/uploads/

Mais je veux qu’ils soient accessibles à partir d’ici: /media-uploads/

J’ai utilisé le code htaccess suivant, qui fonctionne bien:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^media-uploads/(.*\.(jpg|jpeg|gif|bmp|png))$ wordpress/wp-content/uploads/$1 [L]` 

Avec ce qui précède, je peux accéder à /wordpress/wp-content/uploads/image.jpg via l’url /media-uploads/image.jpg

Ce que je veux faire aussi, c’est que Deny from all appliqué au répertoire /wordpress/ . Si j’ajoute ceci, cela fonctionne en refusant l’access, mais cela brise aussi les réécritures d’image, donc une demande à /media-uploads/image.jpg me montre la page interdite 403 comme il se doit dans la zone /wordpress/ .

Quelqu’un peut-il m’aider? Je suis un peu en vrac.

Merci.

Pour bloquer l’access à l’URI d’origine, vous pouvez utiliser la condition suivante au-dessus de votre RewriteRule

 RewriteCond %{THE_REQUEST} /wordpress/wp-content/uploads/ [NC] RewriteRule ^ - [R=403,L] 

Cela retournera l’erreur 403 aux clients s’ils demandent / wordpress / wp-content / upload / foobar