.htaccess文件的妙用
.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文件的妙用的更多相关文章
- .htaccess文件的作用(访问控制)
在线工具: http://www.htaccesseditor.com/sc.shtml 说到.htaccess文件,我想对于wordpress新手或者老手都应该不是很熟悉,也没有多少这方面的概念吧, ...
- 用.htaccess文件实现URL重写
注:第一部分来自 http://www.cnblogs.com/wangkongming/archive/2012/11/13/2768251.html 这位博主的个人网站简洁 还有诗歌 ...
- 在linux 服务器上用.htaccess文件实现二级域名访问子目录
实现子域名绑定网站子目录的方法有很多,比如可以用js跳转,可以用php实现,可以301跳转等,但最常用的应该是RewriteEngine方式了. 新建一个笔记本命名为.htaccess(在wind ...
- iis6上使用.htaccess文件,ISAPI_Rewrite的安装及使用
在Apache上很有用的.htaccess文件在IIS上就没有,要想实现类似的跳转功能可以使用ISAPI_Rewrite来代替,这是一个专门为IIS设置的工具,目的就是代替.htaccess实现很多功 ...
- ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
1.首先修改Apache的httpd.conf文件. 确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号 讲http ...
- apache配置rewrite及.htaccess文件(转载)
今天看到一个哥们的帖子发了个rewrite的帖子,以前也写过一个,配置挺简单的,但当时没注意这个问题,当时没有用到.htaccess文件,在机子上测试了一下,发现确实没法用,于是开始找问题的所在. 自 ...
- htaccess文件还可以被用来把访问网站的流量劫持到黑客的网站
看是否有文件上传操作(POST方法), IPREMOVED--[01/Mar/2013:06:16:48-0600]"POST/uploads/monthly_10_2012/view.ph ...
- 禁止浏览.htaccess文件
很多黑客会攻击和利用.htaccess做网站跳转,所以保护好.htaccess文件尤为重要. 在apache的httpd.conf的配置文件中 默认是已经设置了禁止对.htaccess的访问,截取相关 ...
- 在.htaccess文件中写RewriteRule无效的问题的解决
近来在Apache Rewrite 拟静态配置时,遇到个问题.写的如下: RewriteEngine onRewriteRule ^/t_(.*)/$ /test.php?id=$1 保存在httpd ...
随机推荐
- Lua与C/C++交互问题
初学lua,遇到注册C/C++交互函数问题 在lua与C/C++交互时,C/C++的注册Lua函数若是一个有返回类型(压栈)而不是获取类型的时候应该返回1而不是返回0,否则会出现在Lua中值为nil( ...
- jQuery慢慢啃之事件对象(十一)
1.event.currentTarget//在事件冒泡阶段中的当前DOM元素 $("p").click(function(event) { alert( event.curren ...
- sec:authorize 标签 通过不通过权限例子
1. 方式一 <sec:authorize ifAnyGranted="ROLE_A"> <a href="a.jsp"> ...
- session cookie 相结合实现
数据库配置文件 config.php <?php// config.php 数据库连接文件define('DB_HOST', 'localhost');define('DB_USER', 'ro ...
- C#程序中:如何向xml文件中插入节点(数据)
向xml文件中动态的添加节点(数据)是一件很爽的事,可以给你的程序带来很多的方便,比如在web中,如果你的Flash用到了xml文件,这个方法可以让你在后台就轻轻松松的更新你的Flash内容哦!一起研 ...
- ZendFramework使用中常见问题
MVC 代码书写:控制器代码书写:<?phpclass IndexController extends Zend_Controller_Action{ function init() { $th ...
- Win7 下,离线安装 Android Studio 1.0.1 的方法
此教程没有亲自动手试过,先保存在这里 http://download.csdn.net/detail/tuobaxiao2008/8268281
- 如何在eclips下将一段代码抽取为方法Extract Method
最近读了读关于重构的文章,做了个小总结(在编程思想目录下<从文章"避免复制与粘贴"到文章"Extract Method"的反思 系列>). 然后因为 ...
- Java网络编程--echo服务器
客户端使用Java的阻塞IO 服务端使用Java的非阻塞NIO package com.nio.echo; import java.io.IOException; import java.io.Inp ...
- 关于@synchronized(self)的用法
@synchronized 的作用是创建一个互斥锁,保证此时没有其它线程对self对象进行修改.这个是objective-c的一个锁定令牌,防止self对象在同一时间内被其它线程访问,起到线程的保护作 ...