Htaccess使用实例:修订间差异
来自站长百科
无编辑摘要 |
无编辑摘要 |
||
第118行: | 第118行: | ||
</pre> | </pre> | ||
==启用Deflate== | |||
在Htaccess中加入下面代码给指定文件后缀启用Deflate。[[Apache]]2.0以上版本支持Deflate。 | |||
<pre> | |||
<IfModule mod_deflate.c> | |||
<FilesMatch "\.(js|css)$"> | |||
SetOutputFilter DEFLATE | |||
</FilesMatch> | |||
</IfModule> | |||
</pre> | |||
<FilesMatch "\.(js|css)$"> 指定启用Deflate的文件后缀,增加的后缀用|隔开即可,例如 <FilesMatch "\.(js|css|html|php)$"> | |||
==相关条目== | ==相关条目== |
2010年10月2日 (六) 00:56的版本
.htaccess使用实例 收集和整理常用的.htaccess应用,这里都是具体的应用实例,给出很多典型的语法,对于常用的rewrite等语法,请参考对应的词条,在具体的例子中我们会用到rewrite,但是这里不会专门讲解相关的语法。
屏蔽IP
禁止特定的IP
<Files 403.shtml> order allow,deny allow from all </Files> deny from 1.1.1.1 ;写要封的IP
只允许特定的IP访问
order deny,allow deny from all allow from 61.228.209.85
防止.htaccess文件被查看
<Files .htaccess> order allow,deny deny from all </Files>
其他文件也可以类似这样处理
规范www
全部统一到带 www,例如将83blog.com 统一到 www.83blog.com
RewriteEngine on RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC] RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]
全部统一到不带www,例如将 www.idcspy.com 统一到 idcspy.com
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC] RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
防止别人的域名解析到自己的独立IP
RewriteEngine On RewriteCond %{HTTP_HOST} !(^www\.yourdomain\.com$) [NC] RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]
这个可以完成如下几个功能:
- 如果你的网站绑定多个域名,为了只使用一个域名,就可以设置如上规则,例如网站绑定了 www.idcspy.com www.enmabiz.com 那么为了防止重复的url,就可以把上面的域名设置为www.idcspy.com,这样来自www.enmabiz.com所有的访问都会重定向到 www.idcspy.com
- 如果你用的是独立IP,那么别人就可以把它的域名解析到你的IP上,这个时候可以用这个规则,其他所有解析到你的IP上的域名都会转向到你设置的域名上。
设置时区
在 Htaccess文件中加入 SetEnv TZ Asia/Chongqing 设置时区,Asia/Chongqing 换成你要设置的时区,Asia/Chongqing就表示北京时间。
自定义错误页面
下面是各种错误页面的定义方式,把 /cgi-bin/exxx.php 部分修改成你要使用的错误页面的路径即可。
#BAD_REQUEST ErrorDocument 400 /cgi-bin/e400.php #UNAUTHORIZED ErrorDocument 401 /cgi-bin/e401.php #FORBIDDEN 禁止访问 ErrorDocument 403 /cgi-bin/e403.php #NOT_FOUND 找不到文件 ErrorDocument 404 /cgi-bin/e404.php #METHOD_NOT_ALLOWED ErrorDocument 405 /cgi-bin/e405.php #REQUEST_TIME_OUT ErrorDocument 408 /cgi-bin/e408.php #GONE ErrorDocument 410 /cgi-bin/e410.php #LENGTH_REQUIRED ErrorDocument 411 /cgi-bin/e411.php #PRECONDITION_FAILED ErrorDocument 412 /cgi-bin/e412.php #REQUEST_ENTITY_TOO_LARGE ErrorDocument 413 /cgi-bin/e413.php #REQUEST_URI_TOO_LARGE ErrorDocument 414 /cgi-bin/e414.php #UNSUPPORTED_MEDIA_TYPE ErrorDocument 415 /cgi-bin/e415.php #INTERNAL_SERVER_ERROR 内部服务器错误 ErrorDocument 500 /cgi-bin/e500.php #NOT_IMPLEMENTED ErrorDocument 501 /cgi-bin/e501.php #BAD_GATEWAY ErrorDocument 502 /cgi-bin/e502.php #SERVICE_UNAVAILABLE 服务不可用 ErrorDocument 503 /cgi-bin/e503.php #VARIANT_ALSO_VARIES ErrorDocument 506 /cgi-bin/e506.php
启用Deflate
在Htaccess中加入下面代码给指定文件后缀启用Deflate。Apache2.0以上版本支持Deflate。
<IfModule mod_deflate.c> <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule>
<FilesMatch "\.(js|css)$"> 指定启用Deflate的文件后缀,增加的后缀用|隔开即可,例如 <FilesMatch "\.(js|css|html|php)$">