160 votes

.htaccess mod_rewrite - comment exclure un répertoire de la règle de réécriture ?

J'ai 8 lignes de règles de réécriture dans mon fichier .htaccess. J'ai besoin d'exclure deux répertoires physiques de mon serveur de ces règles, afin qu'ils puissent devenir accessibles. Pour l'instant, toutes les demandes sont envoyées au fichier index.php.

Répertoires à exclure : "admin" et "user".

Donc les requêtes http : http://www.domain.com/admin/ ne doit pas être transmis au fichier index.php.

ErrorDocument 404 /index.php?mod=error404

Options  FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L]
RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]

0 votes

Je pense que tu as oublié les quantificateurs après [^/] puisqu'un simple espace n'est pas autorisé à cet endroit (il doit être échappé avec le symbole \<space> ).

0 votes

C'est vrai Gumbo, bien vu :). ça devrait être ^([^/]+).

5voto

user3578691 Points 1
RewriteEngine On

RewriteRule ^(wordpress)($|/) - [L]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X