Je veux tester l'existence du fichier car il me sort une erreur 404 (interceptée par ErrorDocument 404 /404.html)
En fait, ça me permettrait également de simplifier la règle
RewriteRule ^(assets|css|js|images)/(.+)?$ /templates/%1/$1/$2 [L]
Vu que jusqu'à présent, je dois définir les mots clés de redirections, or c'est un vieux serveurs avec plusieurs développeurs, ici pour l'exemple j'ai simplifié mais en réalité j'ai bien plus de "dossiers" (assets, css, js, images) que ces 4 là dans la règle de réécriture 
Et du coup pour l'instant, chaque fois que je remarque qu'un truc ne marche pas, j'ajoute le dossier manquant à cette règle... c'pas génial :s
Et sinon, non le test d'existence du fichier ne se fait pas car le .htaccess est dans /www/ et non pas dans le dossier /www/templates/domain.com/ donc il test l'existence du fichier à partir du root et non pas du dossier, donc si j'écris http://domain.com/fichier.ext il me dit -forcément- que le fichier n'existe pas car /www/fichier.ext n'existe pas ! Pour preuve, si j'écris : http://www.domain.com/templates/domain.com/fichier.ext j'arrive bien à télécharger mon fichier 
Ce que je voudrais c'est pouvoir tester l'existence du fichier dans le dossier /www/templates/domain.com/ depuis le fichier /www/.htaccess
(pour certaines raisons, je ne peux pas supprimer le redirect error 404 du fichier .htaccess dans /www/ je suis donc obligé de faire une règle parfaite)
EDIT :
Après avoir réfléchi un peu, je me suis rendu compte que j'étais très con 
Bien que je n'ai pas encore résolu mon problème, j'ai réussi à simplifier la fameuse ligne avec (assets|css|js|images|etc...) qui me dérangeait
Voici mon code actuel :
1 2 3 4 5 6
| # Directories
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} www\.(.*)
#RewriteCond %{DOCUMENT_ROOT}/templates/%1/%{REQUEST_FILENAME} -f
RewriteRule ^(.+)$ /templates/%1/$1 [L] |
Comme on peut le voir, j'ai commenté la ligne qui me pose problème et au lieu de !-f j'ai mis -f vu qu'en réfléchissant je voudrais tester que le fichier EXISTE plutôt que N'EXISTE PAS. Malheureusement, si je décommente cette ligne, plus rien ne fonctionne :<
Partager