Je voudrais apache pour rendre% {DOCUMENT_ROOT} /cache/%1.htmlComment Réécrire fichier statique que si elle existe (.htaccess)
si% 1 est le chemin de la requête. Tout mon site se trouve dans un sous-répertoire appelé cache_test et j'ai le fichier .htaccess suivant. Mais la RewriteRule en ligne 7 et 11 ne correspond pas à :(.
Nous vous remercions d'avance pour toute avance! Cordialement, Nicklas
1 RewriteEngine On
2 RewriteBase /cache_test/
3
4 RewriteCond %{THE_REQUEST} ^(GET|HEAD)
5 RewriteCond %{REQUEST_URI} ^/([^.]+)$
6 RewriteCond %{DOCUMENT_ROOT}/cache/%1.html -f
7 RewriteRule ^/[^.]+$ /cache/%1.html [QSA,L]
8
9 RewriteCond %{THE_REQUEST} ^(GET|HEAD)
10 RewriteCond %{DOCUMENT_ROOT}/cache/index.html -f
11 RewriteRule ^/$ /cache/index.html [QSA,L]
12
13 RewriteRule (.*/cache_test)$ $1/
14 RewriteRule ^$ index.html [QSA]
15 RewriteRule ^([^.]+)$ $1.html [QSA]
16 RewriteCond %{REQUEST_FILENAME} !-f
17 RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
Merci pour votre réponse Wrikken! J'ai essayé d'utiliser le chemin relatif comme vous l'avez indiqué et cela n'a pas fonctionné. À propos de la ligne "^ $ index.html [QSA]", je ne suis pas sûr. Je dois avouer que mod_rewrite est loin de mon côté fort. Les lignes 13 à 17 permettent à Apache de tout router vers les rails (via fcgi). Avez-vous des conseils sur la façon dont le fichier pourrait ressembler après la conversion de RewriteBase? Merci, et vous réservoir à nouveau à l'avance. Cordialement, Nicklas –
Si vous n'ajoutez pas de base de réécriture (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritebase), la plupart de vos modèles doivent correspondre au cache_test chemin à l'avant (^ /? cache_test /) – Wrikken