Bonjour à tous,
Il y a surement une petite nuance de htaccess que je n'ai pas compris ... J'ai une condition de réécriture :
Un système de cache comme vous pouvez le voir. Si le fichier existe en cache, je redirige vers ce fichier ... L'originalité réside dans les log du module rewrite :
Lors du premier passage, le test fonctionne bien :
Mais après l'[INTERNAL REDIRECT], la même condition ne passe plus :
Le test d'existence du fichier de cache ne match pas, or le fichier /home/user/projects/project/web/cache/localhost/fr/objects/test.php existe.
Voici le fichier HTACCESS complet :
Il y a surement une petite nuance de htaccess que je n'ai pas compris ... J'ai une condition de réécriture :
Code:
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI}.php -f
RewriteRule ^(.*) cache/%{HTTP_HOST}/$1.php [L]
Un système de cache comme vous pouvez le voir. Si le fichier existe en cache, je redirige vers ce fichier ... L'originalité réside dans les log du module rewrite :
Lors du premier passage, le test fonctionne bien :
Code:
RewriteCond: input='/home/user/projects/project/web/cache/localhost/fr/objects/test.php' pattern='-f' => matched
Mais après l'[INTERNAL REDIRECT], la même condition ne passe plus :
Code:
RewriteCond: input='/home/user/projects/project/web/cache/localhost/fr/objects/test.php' pattern='-f' => not-matched
Le test d'existence du fichier de cache ne match pas, or le fichier /home/user/projects/project/web/cache/localhost/fr/objects/test.php existe.
Voici le fichier HTACCESS complet :
Code:
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
#RewriteBase /
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI}index.html.php -f
RewriteRule ^(.*) cache/%{HTTP_HOST}/$1index.html.php [L]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI}.html.php -f
RewriteRule ^(.*) cache/%{HTTP_HOST}/$1.html.php [L]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cache/%{HTTP_HOST}%{REQUEST_URI}.php -f
RewriteRule ^(.*) cache/%{HTTP_HOST}/$1.php [L]
# no, so we redirect to our front web controller
#RewriteRule ^$ index.html [QSA]
#RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>