.htaccess规则,如果文件的基于请求的URI路径存在,则加载静态文件

.htaccess规则,如果文件的基于请求的URI路径存在,则加载静态文件,.htaccess,.htaccess,因此,我有一个网站,我设法为索引页编写了.htaccess规则,如下所示: #my .htaccess file lives under the %{DOCUMENT_ROOT}/site/www RewriteCond %{SCRIPT_URL} ^$ RewriteCond %{DOCUMENT_ROOT}/site/www/static/index.html -f RewriteRule ^$ static/index.html [L] 它基本上是检查索引页()的每个请求,并

因此,我有一个网站,我设法为索引页编写了.htaccess规则,如下所示:

#my .htaccess file lives under the %{DOCUMENT_ROOT}/site/www  
RewriteCond %{SCRIPT_URL} ^$   RewriteCond
%{DOCUMENT_ROOT}/site/www/static/index.html -f   RewriteRule ^$
static/index.html [L]
它基本上是检查索引页()的每个请求,并从名为static的文件夹和名为index.html的文件中加载它

到目前为止还不错,但我一直在努力让它在博客页面上发挥作用。 所以在这种情况下,我们有

我在php脚本中调试$\u服务器变量,因此我非常确定我在那里有什么,我希望它能起作用:

RewriteCond %{QUERY_STRING} =""
RewriteCond %{DOCUMENT_ROOT}/site/www/static%{REQUEST_URI}/index.html -f
RewriteRule ^(.*)$ static/$1/index.html [L]
但它不起作用。所以这里的想法是——如果有一个名为blog的文件夹存在,如果该文件夹中有index.html文件——从那里加载页面,并且如果没有查询字符串

我还试着让第二行看起来像

RewriteCond %{DOCUMENT_ROOT}/site/www/static/%{REQUEST_URI}/index.html -f

并尝试了许多其他的方法,但都不起作用。它可能是我遗漏的非常小的东西,也可能是非常大的东西,因此如果有人有更好的线索,请帮我解决这个问题:)

你的.htaccess的位置是什么?正如我在描述(作为注释)中所写的:#我的.htaccess文件位于%{DOCUMENT_ROOT}下/site/www所以它是静态文件夹下的一个级别,在www文件夹中。它是%{DOCUMENT_ROOT}/site/www还是just/site/www?它与静态文件夹下的一个级别完全相同-我只是用DOCUMENT_ROOT编写它,以避免混淆。htaccess的位置是什么?正如我在描述中所写的(作为注释):#my.htaccess文件位于%{DOCUMENT_ROOT}/site/www下,因此它在静态文件夹下的www文件夹中有一个级别。它是%{DOCUMENT_ROOT}/site/www还是just/site/www?它与静态文件夹下一个级别的文件夹完全相同-我只是用DOCUMENT_ROOT编写它以避免混淆