I am trying to create a single directory that is outside the OctoberCMS system. In the .htaccess file I added the line:
RewriteCond %{REQUEST_URI} !public/.* [NC]
which works great for public/image.gif, but public/file.html doesn't work. It goes to a 404 page, not an apache 404, but one from OctoberCMS.
I was hoping to have at least one directory completely outside the normal structure. I am annoyed that the CMS has completely hijacked the entire domain not leaving any room for anything that isn't part if it.
I found the issue was twofold. On the one hand, I had to input the line above to enable access to the public folder, but then I also had to add the .html extension to the whitelist area. I was thinking that the first directive would have overridden the need for the whitelist, but not so. I now can tweak it as needed for more customization if needed.
php_flag opcache.enable Off
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
##
## You may need to uncomment the following line for some hosting environments,
## if you have installed to a subdirectory, enter the name here also.
##
# RewriteBase /
##
## Black list protected files
##
RewriteRule ^themes/.*/(layouts|pages|partials)/.*.htm index.php [L,NC]
RewriteRule ^bootstrap/.* index.php [L,NC]
RewriteRule ^config/.* index.php [L,NC]
RewriteRule ^vendor/.* index.php [L,NC]
RewriteRule ^storage/cms/.* index.php [L,NC]
RewriteRule ^storage/logs/.* index.php [L,NC]
RewriteRule ^storage/framework/.* index.php [L,NC]
RewriteRule ^storage/temp/protected/.* index.php [L,NC]
RewriteRule ^storage/app/uploads/protected/.* index.php [L,NC]
##
## White listed folders and files
##
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.map$
RewriteCond %{REQUEST_URI} !\.ico$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.jpeg$
RewriteCond %{REQUEST_URI} !\.bmp$
RewriteCond %{REQUEST_URI} !\.png$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.svg$
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.less$
RewriteCond %{REQUEST_URI} !\.scss$
RewriteCond %{REQUEST_URI} !\.pdf$
RewriteCond %{REQUEST_URI} !\.swf$
RewriteCond %{REQUEST_URI} !\.txt$
RewriteCond %{REQUEST_URI} !\.xml$
RewriteCond %{REQUEST_URI} !\.xls$
RewriteCond %{REQUEST_URI} !\.eot$
RewriteCond %{REQUEST_URI} !\.woff$
RewriteCond %{REQUEST_URI} !\.woff2$
RewriteCond %{REQUEST_URI} !\.ttf$
RewriteCond %{REQUEST_URI} !\.flv$
RewriteCond %{REQUEST_URI} !\.wmv$
RewriteCond %{REQUEST_URI} !\.mp3$
RewriteCond %{REQUEST_URI} !\.ogg$
RewriteCond %{REQUEST_URI} !\.wav$
RewriteCond %{REQUEST_URI} !\.avi$
RewriteCond %{REQUEST_URI} !\.mov$
RewriteCond %{REQUEST_URI} !\.mp4$
RewriteCond %{REQUEST_URI} !\.mpeg$
RewriteCond %{REQUEST_URI} !\.webm$
RewriteCond %{REQUEST_URI} !\.mkv$
RewriteCond %{REQUEST_URI} !\.rar$
RewriteCond %{REQUEST_URI} !\.zip$
## Add This here
RewriteCond %{REQUEST_URI} !\.html$
RewriteCond %{REQUEST_URI} !docs/.*
RewriteCond %{REQUEST_URI} !themes/.*
RewriteRule ^ index.php [L,NC]
##
## Standard routes
##
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With