8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai trouvé les règles suivantes, qui me permettent d'interdire le chargement des images et fichiers média de WordPress aux utilisateurs qui ne sont pas enregistrés (via du php) :
RewriteCond %{REQUEST_FILENAME} -s 
RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]
Dans le .htaccess, je voudrais ajouter une règle d'exception pour un dossier dans lequel sont des fichiers pour lesquels il n'y aura pas besoin d'être enregistré. Du genre :
RewriteCond %{REQUEST_FILENAME} -s 
RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]
Sauf ^wp-content/uploads/dossier/(.*)$
Comment procéder ?

Merci.
Modifié par Adage (26 Mar 2017 - 12:54)
Bonjour.

24h... le moment est venu de proposer ma solution bancale et inélégante.

Je ne vois qu'une façon, modifier la regex :
RewriteRule ^wp-content/uploads/(?!logo-du-site\.jpg|favicon-du-site\.jpg)(.*)$ dl-file.php?file=$1 [QSA,L]


Le groupe (?! ...) est un lookahead négatif... Qu'un des deux groupes soit présent et la réécriture est stoppée... (Edit : a priori Smiley sweatdrop )

Excusez mon ignorance mais les images sont de toute façon téléchargées par le navigateur pour pouvoir être affichées... Smiley confus

Smiley smile

Edit : c'est peut-être plus simple de rajouter des conditions - avant - et d'utiliser ! pour inverser la condition de correspondance.
Modifié par Zelena (27 Mar 2017 - 12:31)