IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

.htaccess功能简明教程

淡水河边的博客 2012-01-29 20:21:52 累计浏览 7,621 次
本机暂存

    .htaccess文件很有用,简单说说吧(可是淡水还是厚颜的加上了简明教程的标题)。

    重定向和url重写

     一个简单的重定向

Redirect 301 ^old\\.html$ http://localhost/new.html

    这是设置一个http状态码为301(永久移动)并把所有访问old.html转向到new.html。使用了正则表达式来匹配访问的页面,后面的url必须是完整路径。

    Url重写

RewriteEngine on

     RewriteRule ^old\\.html$ new.html

    第一行打开重写引擎

     第二行是重写规则。这样用户访问old.html时实际却是访问的new.html,而且用户对此好吧知情。因为地址栏里依旧显示是old.html。

    为了在地址栏显示新的访问地址,我们可以加个f标志在rewriterule语句里。

RewriteRule ^old\\.html$ http://hostname/new.html [r=301]

    下面是把带查询参数的url重写成对搜索引擎友好的url

RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&brand=$2&prod=$3

    这条规则允许访问者以类似这样的url products/turntables/technics/sl1210, 来访问product.php?cat=turntables&brand=technics&prod=sl1210.

    括号里为一个单元,分别对应后面的$1,$2,$3。[^/]+ 在原括号里表示除了/之外的任何一个或是多个字符。

    自定义错误页面

ErrorDocument 404"/404.html"

    这是定义404页面无法找到的错误,也可以定义其他错误代码的页面。

    限定访问特点资源

        AuthName"Username and password required"

        AuthUserFile/path/to/.htpasswd

        Require valid-user

        AuthType Basic

    保护protectedfile.html,authName是登陆框的提示信息,authuserfile是.htpasswd文件的路径

    阻止某些ip访问

order allow,deny

     deny from 192.168.0.1

     allow from all

    Order告诉apache指令的顺序。这里的这个是先允许后拒绝的。虽然allow from all后出现但是还是在前面生效。拒绝了192.168.0.1的访问。也可以按段来屏蔽访问的,只要只指定前面的几段就可以类似,192.168.

    实现缓存

ExpiresActive on

     ExpiresByType image/gif                 "access plus 1 month"

     ExpiresByType image/png                 "access plus 1 month"

     ExpiresByType image/jpg                 "access plus 1 month"

     ExpiresByType image/jpeg                "access plus 1 month"

    第一行开启,下面分别控制各种资源都加上一个月的缓存期。这个功能依赖apache的mod_expires 模块。

    还可以实现压缩,以减少流量。这里就不多谈了。结束了,果然很简明吧。

同分类推荐文章

  1. Vibe新开源项目 - Vaala AI Gateway (2026-05-17 02:10:19)
  2. SmartPerfetto 架构文章 Q&A:8 个深度技术问答 (2026-04-10 11:00:00)
  3. 让 AI 把我的 PHP 博客重写成 Go (2026-03-27 18:33:54)

查看更多 后端 文章 →

建议继续学习

  1. 使用.htaccess 开启gzip 缓存文件 网页 提高速度 (累计阅读 7,546)
  2. htaccess二级目录重写找不到路径 (累计阅读 6,849)
  3. .htaccess的301跳转 (累计阅读 4,064)
  4. Java正则引发的思考 (累计阅读 3,707)
  5. 关于Javascript的俩个有趣的探讨 (累计阅读 3,342)
  6. rewrite 用法点滴 (累计阅读 3,020)
  7. 过滤字符的性能调优? (累计阅读 2,801)
  8. 正则表达式的零宽断言 (累计阅读 2,804)
  9. Oracle正则表达式使用小结 (累计阅读 2,804)
  10. Fastest JavaScript Trim (累计阅读 2,684)