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