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

1、重定向(301跳转)

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

RewriteEngine On
RewriteCond %{HTTP_HOST} !^16see.com$ [NC]
RewriteRule ^(.*)$ http://www.16see.com/$1 [L,R=301]

2、防盗链功能

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

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?16see\.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  /feed/(atom|rdf|rss|rss2)/?$ http://feeds.16see.com/wordpress-admin/  

RedirectMatch  /comments/feed/(atom|rdf|rss|rss2)/?$ http://feeds.16see.com/wordpress-admin/  

4、主机错误页面的定义

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

ErrorDocument  /errors/badrequest.html
ErrorDocument /errors/authreqd.html
ErrorDocument /errors/forbid.html
ErrorDocument /errors/notfound.html
ErrorDocument /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 ^(.*)$ $.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、纠正代码的编码

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

<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-

.htaccess文件的妙用的更多相关文章

  1. .htaccess文件的作用(访问控制)

    在线工具: http://www.htaccesseditor.com/sc.shtml 说到.htaccess文件,我想对于wordpress新手或者老手都应该不是很熟悉,也没有多少这方面的概念吧, ...

  2. 用.htaccess文件实现URL重写

    注:第一部分来自 http://www.cnblogs.com/wangkongming/archive/2012/11/13/2768251.html     这位博主的个人网站简洁   还有诗歌  ...

  3. 在linux 服务器上用.htaccess文件实现二级域名访问子目录

    实现子域名绑定网站子目录的方法有很多,比如可以用js跳转,可以用php实现,可以301跳转等,但最常用的应该是RewriteEngine方式了.   新建一个笔记本命名为.htaccess(在wind ...

  4. iis6上使用.htaccess文件,ISAPI_Rewrite的安装及使用

    在Apache上很有用的.htaccess文件在IIS上就没有,要想实现类似的跳转功能可以使用ISAPI_Rewrite来代替,这是一个专门为IIS设置的工具,目的就是代替.htaccess实现很多功 ...

  5. ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

    1.首先修改Apache的httpd.conf文件. 确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号 讲http ...

  6. apache配置rewrite及.htaccess文件(转载)

    今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发现确实没法用,于是开始找问题的所在. 自 ...

  7. htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站

    看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...

  8. 禁止浏览.htaccess文件

    很多黑客会攻击和利用.htaccess做网站跳转,所以保护好.htaccess文件尤为重要. 在apache的httpd.conf的配置文件中 默认是已经设置了禁止对.htaccess的访问,截取相关 ...

  9. 在.htaccess文件中写RewriteRule无效的问题的解决

    近来在Apache Rewrite 拟静态配置时,遇到个问题.写的如下: RewriteEngine onRewriteRule ^/t_(.*)/$ /test.php?id=$1 保存在httpd ...

随机推荐

  1. kettle不能正常自动获取字段

     Unable to close prepared statement after determining SQL layoutYou have an error in your SQL syntax ...

  2. Linux的cat、more、less的区别

    cat命令功能用于显示整个文件的内容单独使用没有翻页功能因此经常和more命令搭配使用,cat命令还有就是将数个文件合并成一个文件的功能. more命令功能:让画面在显示满一页时暂停,此时可按空格健继 ...

  3. 从内部剖析C#集合之HashTable

    计划写几篇文章专门介绍HashTable,Dictionary,HashSet,SortedList,List 等集合对象,从内部剖析原理,以便在实际应用中有针对性的选择使用. 这篇文章先介绍Hash ...

  4. line-height行高使用技巧

    若父元素标签高度一定,假设为150px,子元素需要垂直居中,再重新给子元素设置一个行高就好了,省事省力

  5. jquery 之选择符

    css:选择符$('#selected-plays > li') 使用了子元素组合符,查找 ID 为 selected-plays 的元素的子元素( > )中所有的列表 li$('#sel ...

  6. php脚本业务逻辑

    设置时区 设置执行不超时 设置根目录常量 引入配置文件(自定义/模板) 错误记录 定义业务类 执行业务类::run() 数据库单例初始化(连接) 日志单例初始化(引入日志类,配置日志路径,日志开关) ...

  7. 帝国cms7.0设置标题图片(缺失状态下)

    有时候因为我们没有设置标题图片,程序就会是使用自己的标题图片,这就是问题所在,现在有2个办法解决这个问题, [1]直接替换调程序的标签图片,但是这样的方法虽然简单,但是图片大小固定,要是每个模版的图片 ...

  8. Python/Keras如何将给定的数据集打乱

    给定数据集data,数据集对应的标签label index = [i for i in range(len(data))] random.shuffle(index) data = data[inde ...

  9. javascript日用代码集合(一)

    获取url参数 function get_url_param(name){ var reg = new RegExp("(^|&)" + name + "=([^ ...

  10. Codeforces 731D Funny Game

    Description Once upon a time Petya and Gena gathered after another programming competition and decid ...