沒有工作在我的服務器(Apache 2.2的)我有這樣的結構:的.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>
htaccess的上:
/.htaccess
/cache/test-uri/.htaccess
/cache/test-uri/index.html
根/.htaccess
htaccess的子目錄/cache/test-uri/.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
根的作品,但在/cache/test-uri/
文件夾中的.htaccess
沒有按」工作。
如果我在瀏覽器中打開http://example.com/cache/test-uri/
,我會在響應內容和響應標題中看到Test OK
。這意味着/cache/test-uri/
文件夾中的.htaccess
工作正常(如果直接調用而不是後面的重寫規則)。
問題是:.htaccess在重寫規則後面不起作用?
在Apache 2.4上這種情況似乎有效。內部重定向路徑確實會影響上層htaccess。 – Deadooshka
這是一個孤立的測試案例嗎?任何其他指令或'.htaccess'文件? '/ test-uri'是一個根目錄下的物理目錄,還是請求URL完全是虛擬的? – MrWhite