Rewriting et système de cache
7 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
Rewriting et système de cache
Bonjour à tous,
J'utilise actuellement une règle de réécriture qui permet de transformer toutes les requetes de sousdomaine.site.com/* vers le repertoire users/sousdomaine/*
Je souhaite maintenant utiliser un système de cache qui permet de renvoyer la page statique si elle existe, sinon appeler une page dynamique qui va la reconstruire à la volée.
J'ai vu des exemples sur ce sujet, (qui utilisent notamment RewriteCond %{REQUEST_FILENAME} !-s ) mais mon cas est un peu différent,car il y a une étape en plus. en effet, je dois commencer par reecrire l'url, puis vérifier si celle-ci existe et enfin soit renvoyer le tout, soit passer la main à un script.
Voici 1 des transformations que je souhaite faire :
1.Transformer sousdomaine.site.com/yyyy/mm/dd/fichier.html
vers le repertoire users/sousdomaine/yyyy_mm_dd_fichier.html
et , seulement si ce fichier n'existe pas, renvoyer une page dynamique du style
/cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=sousdomaine&type=archive&year=yyyy&month=mm&day=dd
J'en ai d'autres, mais elle suivent la même logique, donc je devrais me débrouiller tout seul pour la suite
J'ai déjà fait un test en ajoutant à la suite du code ci-dessus le code suivant( et en changeant le flag [L] par [C] du haut aussi)
Mais dans ce cas, toutes les pages sont renvoyés en dynamique, donc j'en deduis qu'il y a un problème avec la condition...
Merci beaucoup pour votre aide.
Jiib
J'utilise actuellement une règle de réécriture qui permet de transformer toutes les requetes de sousdomaine.site.com/* vers le repertoire users/sousdomaine/*
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^\/[^\/]+\.[^\/]+$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(www\.|)([^.]+)\.site\.com/(.*) /users/$2/$3 [L]
Je souhaite maintenant utiliser un système de cache qui permet de renvoyer la page statique si elle existe, sinon appeler une page dynamique qui va la reconstruire à la volée.
J'ai vu des exemples sur ce sujet, (qui utilisent notamment RewriteCond %{REQUEST_FILENAME} !-s ) mais mon cas est un peu différent,car il y a une étape en plus. en effet, je dois commencer par reecrire l'url, puis vérifier si celle-ci existe et enfin soit renvoyer le tout, soit passer la main à un script.
Voici 1 des transformations que je souhaite faire :
1.Transformer sousdomaine.site.com/yyyy/mm/dd/fichier.html
vers le repertoire users/sousdomaine/yyyy_mm_dd_fichier.html
et , seulement si ce fichier n'existe pas, renvoyer une page dynamique du style
/cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=sousdomaine&type=archive&year=yyyy&month=mm&day=dd
J'en ai d'autres, mais elle suivent la même logique, donc je devrais me débrouiller tout seul pour la suite
J'ai déjà fait un test en ajoutant à la suite du code ci-dessus le code suivant( et en changeant le flag [L] par [C] du haut aussi)
- Code: Tout sélectionner
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^/users/([^\/]+)/([^\/]+) /cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=$1 [PT,L,NC]
Mais dans ce cas, toutes les pages sont renvoyés en dynamique, donc j'en deduis qu'il y a un problème avec la condition...
Merci beaucoup pour votre aide.
Jiib
Oui Jedi, ca peut être également une solution de gérer le cache au niveau de ColdFusion et non de Apache. Cependant je trouvais ça mieux de gèrer le cache avec le serveur web car cela permettait de moins charger le serveur d'application, et également de pouvoir servir quand même les pages statiques si ce dernier tombe. Mais en effet, pourquoi pas ta solution....
D'autres avis ?
Jiib
D'autres avis ?
Jiib
Justement je pense que c'est le condition REQUEST_FILENAME qui n'est pas bonne, j'ai déjà essayé de faire un test avec les lignes ci-dessous, et dans tous les cas il appelle la page de script Coldfusion, même si le fichier existe déjà dans le repertoire.
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
ne fonctionn pas, car la condition est toujours vrai...
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^\/[^\/]+\.[^\/]+$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(www\.|)([^.]+)\.site\.com/(.*) /users/$2/$3 [L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^/users/([^\/]+)/([^\/]+) /cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=$1 [PT,L,NC]
ne fonctionn pas, car la condition est toujours vrai...
Justement je pense que c'est le condition REQUEST_FILENAME qui n'est pas bonne, j'ai déjà essayé de faire un test avec les lignes ci-dessous, et dans tous les cas il appelle la page de script Coldfusion, même si le fichier existe déjà dans le repertoire.
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
ne fonctionn pas, car la condition est toujours vrai...
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^\/[^\/]+\.[^\/]+$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(www\.|)([^.]+)\.site\.com/(.*) /users/$2/$3 [L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^/users/([^\/]+)/([^\/]+) /cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=$1 [PT,L,NC]
ne fonctionn pas, car la condition est toujours vrai...
Justement je pense que c'est le condition REQUEST_FILENAME qui n'est pas bonne, j'ai déjà essayé de faire un test avec les lignes ci-dessous, et dans tous les cas il appelle la page de script Coldfusion, même si le fichier existe déjà dans le repertoire.
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
ne fonctionn pas, car la condition est toujours vrai...
Or je souhaite qu'il appelle le script uniquement si la page demandée après le RewriteRule du premier bloc est introuvable
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} ^\/[^\/]+\.[^\/]+$ [NC]
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(www\.|)([^.]+)\.site\.com/(.*) /users/$2/$3 [L]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^/users/([^\/]+)/([^\/]+) /cfm/fe/FrontEngineUtility.cfc?method=getPage&siteName=$1 [PT,L,NC]
ne fonctionn pas, car la condition est toujours vrai...
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- l'URL Rewriting expliqué aux débutants
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Tutoriel URL Rewriting
- Optimiser le référencement d'un forum phpBB : réécriture d'URL
- 3ème partie de l'article .htaccess : les réécritures conditionnelles
- Le cache de Google : description, explications
- Explications sur le Crawl Caching Proxy de Google
- Yagoort : Yet Another Google Rank Test
- Honda va inclure Google Earth dans son système de navigation par satellite
- Nouvel article : "Google en résumé"
- Système de cache
- Système de cache et de statistiques
- Sessions et système de cache fichier
- Le système de cache de Google est mort ?
- [ADVANCED] systeme de cache pour phpbb
- Comment améliorer mon système de cache (mutualisé)?
- Utilisation de RewriteCond pour système de mise en cache
- Problème avec le système de cache UR - .htaccess - RewriteC.
- [Système de cache avec fichiers] Milliers de pages, aie ?
- [Réglé] Système de cache lite: je ne vois pas les fichiers
- Système URL-rewriting pour le référencement
- Url rewriting , page en cache ?
- Url rewriting ou cache fichier pour page semi dynamique ?
- Passage d'un systeme "frames" vers systeme sans fr
- Quand le cache joue à cache cache
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum