Hallo,

Ik wil middels htaccess de toegang tot de WordPress map wp-content/uploads beperken, máár alleen voor bepaalde bestanden.

Middels de <Files> directive wil ik alle bestanden selecteren die 'aa' of 'ee' in hun naam hebben staan:

<Files "?aa*|?ee*">
// do stuf
</Files>


Maar ik wil dus ook de toegang tot die bestanden beperken voor alleen ingelogde gebruikers:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*wp-content/uploads/.*
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . - [R=403,L]
</IfModule>


Mijn vraag: hoe voeg ik dit samen? En maak ik fouten in bovenstaande code?

Guido
Kun je de bestanden niet beter meteen in het juiste bakje (directory) doen in plaats van uitzonderingen definiëren op grond van de bestandsnaam? Dat lijkt mij resulteren in een schonere (en overzichtelijkere) scheiding dan wat je hier probeert te doen.
Hoi Thomas,

Nee, dat is juist het probleem. Binnen WordPress is het niet heel gemakkelijk om custom directories aan te maken. Er zijn plugins, maar die doen veel meer dan wat ik nodig heb. Daarom leek me dit de perfecte oplossing.

Guido
Heeft WordPress geen plugin voor een fijnmaziger beheer van uploads?

Heb je al gezocht naar hoe andere gebruikers dit soort wensen tacklen?

Volg je met bovenstaande oplossing de richtlijnen van WordPress?
Hoi,

Ben er al enkele uren mee bezig geweest en binnen de WordPress omgeving niets geschikts gevonden. De htaccess is een snelle en eenvoudige manier om mijn doel te bereiken (dacht ik).

Update:
Volgens mij kan ik ipv <Files> beter 1 van deze gebruiken?

RewriteCond %{REQUEST_FILENAME}
RewriteCond %{REQUEST_URI}


Zo ja, hoe krijg ik dit werkend?

Guido
Nou, eindelijk toch gelukt. Dit lijkt te werken:


<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_URI} ^.*wp-content/uploads/.*(aa|ee) [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] 
RewriteRule . - [R=403,L] 
</IfModule>

[/code]
Guido

Reageren