简单配置.htaccess就可以实现的几个功能

之前说过.htaccess 文件的使用,htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能,这里说一下平常简单配置.htaccess 就可以实现的几个功能

  • 反盗链

那些盗用了你的内容,还不愿意自己存储图片的网站是很常见的。你可以通过以下配置来放置别人盗用你的图片:

RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?qq52o.me/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
  •  防止目录浏览

有时候目录浏览是有用的,但大部分情况会有安全问题。为了让你的网站更安全,你可以通过 htaccess 文件来禁用这个功能:

Options All -Indexes
  •  显示个性化的 404 错误页面

当用户访问了一个不存在的页面的时候,网页服务器会显示“404 file not found”错误。有很多 CMS 可以让你设置自定义的错误页面,但最简单的方法是更改 htaccess:

ErrorDocument 404 /404.html
  •  设置目录的默认页面

假如你需要为不同的目录设置不同的默认页面,你可以很容易的通过 .htaccess 实现:

DirectoryIndex about.html
  • 基于 referer 来限制网站访问

站长通常不会限制网站访问,但是当你发现有一些网站尽给你带来垃圾流量的话,你就应该屏蔽他们:

RewriteEngine on  RewriteCond %{HTTP_REFERER} spamteam.com [NC,OR]
RewriteCond %{HTTP_REFERER} trollteam.com [NC,OR]
RewriteRule .* – [F]
  • 限制 PHP 上传文件大小

这招在共享空间的服务器上很有用,可以让我的用户上传更大的文件。

第一个是设置最大的上传文件大小,第二个是设置最大的 POST 请求大小,第三个 PHP 脚本最长的执行时间,最后一个是脚本解析上传文件的最长时间:

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200
  • 压缩文件

你可以通过压缩文件来减少网络流量,页面装载时间:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
  • 缓存文件

这一点还需要解释吗?

Header set Cache-Control "max-age=2592000"
  • 添加尾部的反斜杠

我并不确定,但是很多文章,很多人都说添加尾部反斜杠有益于 SEO:

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:简单配置.htaccess就可以实现的几个功能

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android群英传

创建后台任务的两种代码模式

941
来自专栏Java技术分享

MongoDB基础语句

MongoDB数据库安装地址:http://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.html

56210
来自专栏散尽浮华

apache工作模式梳理

apache目前主要有两种模式:prefork模式和worker模式: 1)prefork模式(默认模式) prefork是Unix平台上的默认(缺省)MPM,...

2618
来自专栏冷冷

【ehcache】 timeToLiveSeconds 和 timeToLiveSeconds 的区别

ehcache.xml <?xml version="1.0" encoding="UTF-8"?> <ehcache updateCheck="false" ...

1967
来自专栏Java技术分享

MongoDB基础语句

闺蜜苏苏工作是前端开发,她竟然被要求用到MongoDB数据库,所以先让她安装好先,再来测试下面语句~ MongoDB数据库安装地址:http://jingya...

2298
来自专栏Java开发

Linux 查看网卡UUID

5292
来自专栏PHP在线

apache2.4.x三种MPM介绍

Apache 2.X 支持插入式并行处理模块,称为多路处理模块(MPM)。在编译apache时必须选择也只能选择一个MPM,对类UNIX系统,有几个不同的M...

2969
来自专栏刘远飞的专栏

Apache 性能配置优化

最近在进行apache性能优化设置。在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯。本文讲述的apache配置调优均是在r...

2.9K0
来自专栏以南小隐-数通那些事儿

EVE-NG-PRO导入Dynamips镜像《EVE-NG系列教程二》

3K4
来自专栏河湾欢儿的专栏

grunt

npm install -g grunt-cli //全局安装grunt npm init -y //初始化package.json npm ins...

1371

扫码关注云+社区

领取腾讯云代金券