默认情况ECMS系统执行站点初始化会自动创建或更新重写文件,当用户手动更改或服务器权限问题导致重写文件异常,可以通过复制以下代码生成:
<Files ~ ".(tpl|cache|db|sql|log|cache)$"> <IfModule authz_core_module> Require all denied </IfModule> <IfModule !authz_core_module> Deny from all </IfModule> </Files> <IfModule mod_rewrite.c> RewriteEngine On Options -Indexes #DirectoryIndex index.html index.php DirectoryIndex index.php RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [PT,L] </IfModule>
模板目录一般不会公开访问,模板里的静态资源程序默认会通过PHP路由查找正确路径,但是经过PHP路由解析会消耗一定的资源,可以通过apache-htaccess重写功能定义模板静态资源路径,例如:
RewriteEngine On
Options -Indexes
DirectoryIndex index.php index.html
RewriteBase /
RewriteRule ^assets/(.+)$ esite_template/template_1/assets/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [PT,L]