我想要apache来渲染%{DOCUMENT_ROOT} /cache/%1.html
如果%1是请求路径。我的整个站点位于一个名为cache_test的子目录中,我有以下.htaccess文件。但是第7行和第11行的RewriteRule将不匹配:(。
提前感谢您的任何进展! 亲切的问候, 尼克拉斯
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]
答案 0 :(得分:0)
RewriteBase + DOCUMENT_ROOT ==>麻烦...
我现在无法进行测试,你可能想检查一下这是否有效,改变:
6 RewriteCond %{DOCUMENT_ROOT}/cache/%1.html -f
要:
6 RewriteCond ../cache/%1.html -f
如果没有,我认为别无其他选择,只能忘记RewriteBase& amp;放弃那个。
另外,你为什么需要这个?
RewriteRule ^$ index.html [QSA]