我正在尝试创建一个位于OctoberCMS系统之外的目录。在.htaccess
文件中,我添加了以下行:
RewriteCond %{REQUEST_URI} !public/.* [NC]
适用于public/image.gif
,但public/file.html
不起作用。它转到404页面,而不是apache 404,但是来自OctoberCMS。
我希望至少有一个目录完全在正常结构之外。我很生气,CMS完全劫持了整个域名,没有留下任何不属于任何空间的空间。
答案 0 :(得分:2)
我发现问题是双重的。一方面,我必须输入上面的行来启用对公共文件夹的访问,但是我还必须将.html
扩展名添加到白名单区域。我在想第一条指令会覆盖白名单的需要,但事实并非如此。我现在可以根据需要调整它,以便在需要时进行更多自定义。
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>