Htaccess 设置小技巧

前面写了一篇用htaccess防止图片盗链的文章, 这次再总结一些htaccess文件的其他用处:

  • 设置时区

SetEnv TZ America/Chicago

时区的列表可以在这里找到: http://us2.php.net/manual/en/timezones.php

  • 链接扩展名 – Different File Extension

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*).zig$ $1.php [nc]

这样, 访问example.zig就相当于example.php

  • 取消扩展名

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

这样做以后, 网址URL中不会显示.php这个后缀

  • 拒绝访问包含文件 – Deny Access to Include Files

<FILES ~ “.inc$”>
Order allow,deny
Deny from all
</FILES>

阻止其他人浏览inc文件, 有点疑惑, 貌似是禁止访问inc文件夹中的所有文件.

  • 拒绝文件夹列表

Options -Indexes

如果文件夹中没有index文件的话, 这个设置会拒绝其他人浏览文件夹的内容.

  • 404转向, 重定向

ErrorDocument 404 http://exmple.com/

很明显, 将404错误页面设置(转到)为http://exmple.com/ (原文如此, 明显是把example错误拼写为exmple了)

  • 加快网页加载时间

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl|jpg|png|gif)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

需要有mod_czip.c模块的支持, 可以将传输的内容压缩55-65%, 从而提高35-40%的速度(当然都是理想状态)

  • 显示站点维护状态页面

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteRule $ /maintenance.html [R=302,L]

用上述命令, 网站浏览者将会被带到maintenance.html这个页面, 在维护网站的时候很有用.

翻译的并不是很准确, 所以附上了部分英文, 这些小技巧来全部翻译自dreamhost的wiki. 互联网上还有其他的资源可以参考, 推荐以下两篇:

中文: http://hellobmw.com/archives/using-htaccess.html
英文: http://www.freewebmasterhelp.com/tutorials/htaccess/1

阅读更多相关内容:

读者留言

  1. 环保袋, 10:37 am - 19 Apr, 2008 [回复]

    good

  2. Jenny, 4:54 pm - 15 Jun, 2010 [回复]

    你好,可以帮我一个忙吗?
    我想做一个.htaccess文件,让某些ip访问的时候需要输入密码,其他ip访问的时候则不需要,我在网上搜了好多,还是不太会,我没学过这东西,你可以教我一下吗?不胜感激。
    我不知道该怎么把下面这些内容结合起来以达到我说的效果!可以知道一下吗?
    ErrorDocument 403 http://www.proxynetwork.ws/blocked.html

    order allow,deny
    deny from 58.14.0.0/15
    。。。。
    allow from all

    ——————————————————————-

    deny from all

    Options -Indexes
    AuthUserFile /public_html
    AuthGroupFile /dev/null
    AuthName “Please enter your ID and password”
    AuthType Basic
    require valid-user
    order deny,allow

  3. gro, 7:10 pm - 16 Jun, 2010 [回复]

    @Jenny 不好意思,这个帮不上忙,最近很忙,也没时间研究了。

我要留言

提示1: 如果您使用指定留言者的格式, 即"@留言者+空格+您的留言", 您说的话就会被发送到该留言者的邮箱中.
提示2: 为了方便您的操作和减少输入失误, 直接点击每条留言后的[回复], 会自动添加"@留言者+空格".