现在的位置: 首页 > 综合 > 正文

Apache htaccess Minify 正式环境不访问的重写规则

2016年07月22日 ⁄ 综合 ⁄ 共 996字 ⁄ 字号 评论关闭

Google Project Minfiy 放到网站根目录 /min/ 下。

如果是正式环境(判断条件,域名HTTP_HOST中存在 . 点号就判断为正式上线环境),那么 不将网站中的CSS JS重写到min/index.php

如果是测试环境(判断条件,域名HTTP_HOST中不存在.,或者192.168. 开头或者其他特例,存在.的特例),那么网站中的CSS/JS 的真实文件全部重写。

且限定重写的CSS JS 仅仅是/public /Public /css /js 文件夹中的CSS/JS!

实现代码:htaccess ,仅仅支持Apache服务器:

#如果正式环境,不重写到压缩
RewriteCond %{HTTP_HOST} !\. [NC]
RewriteCond %{REQUEST_FILENAME} (\.(js|css))$ [NC]
RewriteRule ^((css|js|public)\/.*\.(css|js))$ min/index.php?f=$1 [L,NE,NC]

#正式环境,访问 /min 目录跳转
RewriteCond %{HTTP_HOST} \. [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(min\/.*)$  /?=$1 [L,R=301]

如果存在问题,或者有更好的建议,欢迎交流。by default.fu@foxmail.com

——————————————— 附加 ———————————————————

修改 /min/.htaccess 文件,如果是正式环境,禁止任何访问!

<IfModule mod_rewrite.c>
RewriteEngine on

# You may need RewriteBase on some servers
#RewriteBase /min

#正式环境,禁止访问 min文件夹任何内容!
  RewriteCond %{HTTP_HOST} \. [NC]
  RewriteRule ^(.*)$ /?f=$1 [L,R=301]

# rewrite URLs like "/min/f=..." to "/min/?f=..."
RewriteRule ^([bfg]=.*)  index.php?$1 [L,NE]
</IfModule>
<IfModule mod_env.c>
# In case AddOutputFilterByType has been added
SetEnv no-gzip
</IfModule>

抱歉!评论已关闭.