子目录中的.htaccess不适用于rewriterule

时间:2017-05-07 10:10:23

标签: apache .htaccess

在我的服务器(Apache 2.2)上,我有这样的结构:

/.htaccess
/cache/test-uri/.htaccess
/cache/test-uri/index.html

/.htaccess上的htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond "%{DOCUMENT_ROOT}/cache/%{REQUEST_URI}/index.html%" -f
    RewriteRule .* "/cache/%{REQUEST_URI}/index.html" [L]
</IfModule>

子目录/cache/test-uri/.htaccess上的htaccess:

<IfModule mod_headers.c>
    Header set X-Test "Test OK"
</IfModule>

/cache/test-uri/index.html内容为:

<html>
  <head></head>
  <body>Test OK</body>
</html>

如果我在浏览器http://example.com/test-uri/中打开,我在响应内容中看到Test OK但在响应标头中没有,这意味着根上的.htaccess工作但{{1} .htaccess文件夹中的{}不起作用。

如果我在浏览器/cache/test-uri/中打开,我会在响应内容和响应标头中看到http://example.com/cache/test-uri/。这意味着Test OK文件夹中的.htaccess有效(如果直接调用而不是重写规则)。

问题是: .htaccess在重写规则后面不起作用?

0 个答案:

没有答案