说到.htaccess 文件,我想对于 WordPress 新手或者老手都应该不是很熟悉,也没有多少这方面的概念吧,至少小编是这样的,而最近看到一篇有关介绍的文章,觉得很不错,所以今天打算分享给大家,也给自己一篇扫盲课吧!

首先介绍下.htaccess 文件到底是什么,.htaccess 是 Apache HTTP Server 系统级别的配置文件,通常用来实现主机本身以外的一些功能的,比如说重定向、 Gzip 、以及访问限制等等。。。

那么下面就介绍 10 个关于.htaccess 文件的妙用,看看大家都了解多少

1 、重定向 (301 跳转)

相信这个功能,大家都不陌生,为了集中网站域名的权重,通常会将不带 www 的域名 301 跳转到带 www 的域名上,比如说本站的域名 2zzt.com 就会自动的跳转到 www.2zzt.com 上来,这样做的好处就是,搜索引擎会集中不带 www 的域名的页面权重到带 www 的网址页面上来,如果没有做 301 重定向,且带 www 和不带 www 的域名都能访问同一个网站,那么在搜索引擎优化方面将起到分散权重的弊端!具体操作:(将域名替换为自己的粘贴到.htaccess 文件内即可)

  1. RewriteEngine On  
  2. RewriteCond %{HTTP_HOST} !^2zzt.com$ [NC]  
  3. RewriteRule ^(.*)$ http:  

2 、防盗链功能

确实,.htaccess 文件可以开启防盗链的功能,什么叫防盗链?防盗链就是节省网站的流量,将网站内的文件、图片等都仅能在自己的网站域名上显示,避免其他网站调用自己网站文件而流失大量的流量,对于很多小站长来说,主机都是有流量限制的 。具体操作:

  1. RewriteEngine On  
  2. RewriteCond %{HTTP_REFERER} !^http:  
  3. RewriteCond %{HTTP_REFERER} !^$  
  4. WordPress 主题下载站提醒:/notlink.png 为盗链显示的图片,建议使用小尺寸的,以免因为图片太大,二次浪费!  
  5. RewriteRule .*.(jpe?g|gif|bmp|png)$ /notlink.png [L]  

3 、将 WordPress 的 feed 源进行 301 重定向

说到这功能,老实说小编还是很陌生的,原因是小编就没用过 feed 的功能,当然如果大家在使用 WordPress 自带的 feed 源的话,这里就跳过吧,因为这个功能是为了那些不是使用 WordPress 自带的 feed 源的朋友能够协助站长规范化 feed 源的,具体操作:

  1. <IfModule mod_alias.c>  
  2. RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http:  
  3. RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http:  
  4. </IfModule>  

4 、主机错误页面的定义

这个功能相对于大家使用虚拟主机的话,可能都已经有相关设置了,但如果是自己搭建环境的话,相信还是需要用到的,具体操作:

  1. ErrorDocument 400 /errors/badrequest.html  
  2. ErrorDocument 401 /errors/authreqd.html  
  3. ErrorDocument 403 /errors/forbid.html  
  4. ErrorDocument 404 /errors/notfound.html  
  5. ErrorDocument 500 /errors/serverr.html  

5 、指定类型的文件的打开方式

好吧,又一个陌生的功能来了,这个功能主要表现在于个别站点的音乐 (mp3) 文件,图片 (jpg 、 png 、 gif) 文件等文件必须通过下载方式得到,对于下载站来说,这样的指令是很需要的,具体操作:(自已添加文件扩展名即可)

  1. <Files *.jpg>  
  2. ForceType application/octet-stream  
  3. Header set Content-Disposition attachment  
  4. </Files>  

6 、 php 错误运行的记录生成

又一个陌生的功能来了,意思就是生成主机空间运行 php 所产生错误的记录,对于技术宅或者查询被黑记录是十分需要的,想象下,在密密麻麻的记录中,寻找着一些蛛丝马迹,是否很牛 B 的样子,呵呵。具体操作:

  1. # 启用不向用户显示错误  
  2. php_flag display_startup_errors off  
  3. php_flag display_errors off  
  4. php_flag html_errors off  
  5. # 记录日志到文件  
  6. php_flag log_errors on  
  7. php_value error_log /location/to/php_error.log  

7 、网址中的文件扩展名的设定

从名称看不出具体的含义吧,其实很简单,这个功能可以移除网址中 文件的扩展名 例如.php .asp .html 通过.htaccess 文件来实现起来是比较简单和安全的,也是比较有效率的,当然这也是比较极端的做法,技术宅的爱好,但搜索引擎不爱好,搜索引擎更爱静态文件,比如.html 所以需要谨慎使用!具体操作:

  1. RewriteEngine on  
  2. RewriteCond %{REQUEST_FILENAME} !-d  
  3. RewriteCond %{REQUEST_FILENAME}.html -f  
  4. RewriteRule ^(.*)$ $1.html  
  5. # html 可以被替换成为 asp 、 php 等  

8 、未配置的 apache 为自动列出文件目录

我们经常会看到一些网站打开后是文件目录?其实他们是未配置的 apache 环境产生的,那么这很不安全,下面的代码能够轻松解决:

9 、网站页面压缩,也叫静态资源压缩 (Gzip)

加快页面打开速度的有效方法就是页面静态压缩,简称 gizp, 当然静态化的方面有很多,这里说下普遍页面的压缩,即静态资源压缩 (Gzip),操作方法很简单:

  1. <ifmodule mod_deflate.c>  
  2. AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript  
  3. </ifmodule>  

10 、纠正代码的编码

很多朋友在写完一段代码上传到服务器后,经常出现了乱码的情况,而下面这个步骤,将解决因为代码编码而乱码的问题:

  1. <FilesMatch ".(htm|html|css|js)$">  
  2. AddDefaultCharset UTF-8  
  3. </FilesMatch>  

现在对.htaccess 文件的妙用是否有了更多的认识了,当然还有很多的功能小编自己也不知道,先写这么多吧,日后再更新,亲手码字,请复制党滚!