[TASK] htaccess: Generate direct access protection
authorBenjamin Franzke <bfr@qbus.de>
Sat, 26 Dec 2015 09:05:03 +0000 (10:05 +0100)
committerTim Lochm├╝ller <tim@fruit-lab.de>
Tue, 29 Dec 2015 09:12:38 +0000 (10:12 +0100)
When the root .htaccess invokes the RewriteRule to typo3temp/tx_ncstaticfilecache/
apache performs an internal redirect where the root .htaccess is ignored since the subdirectory
includes an .htaccess file that includes an own set of RewriteRules.
Prevent direct access by including the access check in all .htaccess files.

Resources/Private/Templates/Htaccess.html

index f5907de..1f22137 100644 (file)
@@ -7,6 +7,14 @@
 <f:if condition="{sendCacheControlHeaderRedirectAfterCacheTimeout}">
 <IfModule mod_rewrite.c>
        RewriteEngine On
+
+       <f:comment>
+               Explicitly prevent direct access here. This is needed because the .htaccess
+               access check in the root dir is overwritten by the RewriteRules defined here.
+       </f:comment>
+       RewriteCond %{ENV:REDIRECT_STATUS} ^$
+       RewriteRule .* - [F,L]
+
        RewriteCond %<![CDATA[{TIME}]]> ><f:format.date format="YmdHis">@{expires}</f:format.date>
        RewriteRule ^.*$ /index.php
 </IfModule>