URL dynamique pointant vers un sous répertoire

Nouveau WRInaute
Bonjour à tous,

Dans un souci d'optimisation, j'essaie de développer un petit script qui génère des pages html dans un répertoire /cache/.

J'ai donc à la racine de mon site :

  • /site/cache/ (répertoire)
    • index.html
    • about-me.html
    • blog.html
    • blog / (répertoire)
      • bonjour-tout-le-monde.html
      • ...

Je me demandais, comment faire des règles de réécriture pour que :

/about-me/ pointe vers /site/cache/about-me.html
/blog/bonjour-tout-le-monde/ --> /site/cache/blog/bonjour-tout-le-monde.html

et éventuellement une exception pour que "/" pointent vers /site/cache/index.html

Est-ce possible via les rewriteRule ? ou bien fais-je fausse piste ?

Merci d'avance pour votre aide.
 
WRInaute accro
Je l'ai déjà fait avec CakePHP, regarde l'exemple de rewrite ici:
https://github.com/mcurry/html_cache
Code:
RewriteCond %{REQUEST_METHOD} ^GET$
RewriteCond %{DOCUMENT_ROOT}/cache/$1/index.html -f
RewriteRule ^(.*)$ /cache/$1/index.html [L]

# Suite du rewrite pour aller vers ton front controller
 
Nouveau WRInaute
Merci beaucoup Spout !

Du coup pour mon cas, ce serait ainsi :
Code:
RewriteRule ^(.*)$ /site/cache/$1.html [L]

Et pour la home, afin que le slug ne soit pas /index/ mais juste /, dois je procéder ainsi ?

Code:
RewriteRule ^/$ /site/cache/index.html [L]
 
WRInaute accro
Pr là suite, il faut qu'un pro du rewrite passe par ce topic. J'ai juste donné une piste que j'avais, je suis nul :mrgreen:
 
Nouveau WRInaute
Hello,

Juste pour info, cela ne marchait pas de mon coté (boucle infini dans les logs appache) alors j'ai procéder ainsi :

Code:
RewriteEngine on
RewriteBase /

#exception pour la home
RewriteRule ^$ /site/cache/index.html [L]

#autres pages
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{DOCUMENT_ROOT}/site/cache/$1.html -f
RewriteRule ^(.*)$ /site/cache/$1.html [L]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
 
Discussions similaires
Haut