共计 2736 个字符,预计需要花费 7 分钟才能阅读完成。
首先介绍下.htaccess文件到底是什么,.htaccess 是 apache http server 系统级别的配置文件,通常用来实现主机本身以外的一些功能的,比如说重定向、gzip、以及访问限制等等。。。
那么下面就介绍 10 个关于.htaccess 文件的妙用,看看大家都了解多少
1、重定向(301 跳转)
相信这个功能,大家都不陌生,为了集中网站 域名 的权重,通常会将不带 www 的域名 301 跳转到带 www 的域名上,比如说本站的域名 www.iseeyu.com 就会自动的跳转到 www.www.iseeyu.com 上来,这样做的好处就是,搜索引擎会集中不带 www 的域名的页面权重到带 www 的网址页面上来,如果没有做 301 重定向,且带 www 和不带 www 的域名都能访问同一个网站,那么在搜索引擎优化方面将起到分散权重的弊端!具体操作:(将域名替换为自己的粘贴到.htaccess 文件内即可)
rewriteengine on
rewritecond %{http_host} !^www.iseeyu.com$ [nc]
rewriterule ^(.*)$ https://www.iseeyu.com/$1 [l,r=301]
2、防盗链功能
确实,.htaccess 文件可以开启防盗链的功能,什么叫防盗链?防盗链就是节省网站的流量,将网站内的文件、图片等都仅能在自己的网站域名上显示,避免其他网站调用自己网站文件而流失大量的流量,对于很多小站长来说,主机都是有流量限制的。具体操作:
rewriteengine on
rewritecond %{http_referer} !^http://(. .)?www.iseeyu.com/ [nc]
rewritecond %{http_referer} !^$
# wordpress 主题下载站提醒:/notlink.png 为盗链显示的图片,建议使用小尺寸的,以免因为图片太大,二次浪费!
rewriterule .*.(jpe?g|gif|bmp|png)$ /notlink.png [l]
3、将 wordpress 的 feed 源进行 301 重定向
说到这功能,老实说小编还是很陌生的,原因是小编就没用过 feed 的功能,当然如果大家在使用 wordpress 自带的 feed 源的话,这里就跳过吧,因为这个功能是为了那些不是使用 wordpress 自带的 feed 源的朋友能够协助站长规范化 feed 源的,具体操作:
redirectmatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feeds.www.iseeyu.com/wordpress-admin/
redirectmatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feeds.www.iseeyu.com/wordpress-admin/
4、主机错误页面的定义
这个功能相对于大家使用虚拟主机的话,可能都已经有相关设置了,但如果是自己搭建环境的话,相信还是需要用到的,具体操作:
errordocument 400 /errors/badrequest.html
errordocument 401 /errors/authreqd.html
errordocument 403 /errors/forbid.html
errordocument 404 /errors/notfound.html
errordocument 500 /errors/serverr.html
5、指定类型的文件的打开方式
好吧,又一个陌生的功能来了,这个功能主要表现在于个别站点的音乐(mp3)文件,图片(jpg、png、gif)文件等文件必须通过下载方式得到,对于下载站来说,这样的指令是很需要的,具体操作:(自已添加文件扩展名即可)
forcetype application/octet-stream
header set content-disposition attachment
6、php 错误运行的记录生成
又一个陌生的功能来了,意思就是生成主机空间运行 php 所产生错误的记录,对于技术宅或者查询被黑记录是十分需要的,想象下,在密密麻麻的记录中,寻找着一些蛛丝马迹,是否很牛 b 的样子,呵呵。具体操作:
# 启用不向用户显示错误
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# 记录日志到文件
php_flag log_errors on
php_value error_log /location/to/php_error.log
7、网址中的文件扩展名的设定
从名称看不出具体的含义吧,其实很简单,这个功能可以移除网址中 文件的扩展名 例如.php .asp .html 通过.htaccess 文件来实现起来是比较简单和安全的,也是比较有效率的,当然这也是比较极端的做法,技术宅的爱好,但搜索引擎不爱好,搜索引擎更爱静态文件,比如.html 所以需要谨慎使用!具体操作:
rewriteengine on
rewritecond %{request_filename} !-d
rewritecond %{request_filename}.html -f
rewriterule ^(.*)$ $1.html
# html 可以被替换成为 asp、php 等
8、未配置的 apache 为自动列出文件目录
我们经常会看到一些网站打开后是文件目录?其实他们是未配置的 apache 环境产生的,那么这很不安全,下面的代码能够轻松解决:
options -indexes
9、网站页面压缩,也叫静态资源压缩(gzip)
加快页面打开速度的有效方法就是页面静态压缩,简称 gizp, 当然静态化的方面有很多,这里说下普遍页面的压缩,即静态资源压缩(gzip),操作方法很简单:
addoutputfilterbytype deflate text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
10、纠正代码的编码
很多朋友在写完一段代码上传到服务器后,经常出现了乱码的情况,而下面这个步骤,将解决因为代码编码而乱码的问题:
adddefaultcharset utf-8