2010-09-29 4 views
0

travail config .htaccess:Comportement étrange RewriteCond sur Apache 2.2

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_URI} ^thumbs/(.*)$ 
RewriteRule ^(.+)$ /index.php [L,QSA] 

Toutes les 404 requêtes à/pouces/dossier ne doit pas être attrapée par le script index.php. Pourquoi le travail de configuration .htaccess et la configuration du bas ne fonctionnent pas?

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_URI} !^/thumbs/(.*)$ 
RewriteRule ^(.+)$ /index.php [L,QSA] 

Apache 2.2.9, Debian

Répondre

0

REQUEST_URI contient le chemin URI demandé et ne démarre toujours par une barre oblique.

Donc, le motif ^thumbs/(.*)$ ne correspond jamais car il manque le premier /. Mais l'autre condition, !^/thumbs/(.*)$, doit correspondre à chaque requête dont le chemin URI ne commence pas par /thumbs/.

0

Je pense qu'il est parce que la première barre oblique

RewriteCond %{REQUEST_URI} !^/thumbs/(.*)$ 
+0

RewriteCond% {REQUEST_URI}!^Thumbs /(.*)$ ne fonctionne pas trop – nex2hex