📜  .htaccess 文件 (1)

📅  最后修改于: 2023-12-03 14:38:46.444000             🧑  作者: Mango

.htaccess文件介绍

.htaccess文件是一种Apache服务器配置文件,通常用于指定网站的特定配置和规则,如重定向、认证、缓存控制等。

使用场景

.htaccess文件常用于以下场景:

  • URL重定向和路由
  • 认证和授权
  • 缓存控制
  • MIME类型设置
  • 防止目录列出和防止访问敏感文件
  • 改变默认页面
  • 防止爬虫访问页面
  • 限制访问IP地址或IP段
文件位置

.htaccess文件通常位于网站根目录或子目录中。当访问该目录或子目录下任意文件时,Apache会自动加载.htaccess文件中指定的配置规则。

配置语法

.htaccess文件的配置语法基于Apache模块指令和指令参数,如下所示:

<指令名 [参数1 参数2 ...]>
    指令内容
</指令名>
示例代码

以下是一些.htaccess配置的示例代码,供参考。

重定向和路由
# 301永久重定向
Redirect 301 /old-page.html http://example.com/new-page.html

# 模式匹配重定向
RewriteEngine On
RewriteRule ^old-url$ http://example.com/new-url [R=301,L]

# 重定向错误页面
ErrorDocument 404 /not-found.html
认证和授权
# 开启基本认证
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

# 开启Digest认证
AuthType Digest
AuthName "Restricted Area"
AuthDigestFile /path/to/.htdigest
Require valid-user

# IP白名单
Order Allow,Deny
Allow from 192.168.0.1
Deny from all
缓存控制
# 开启gzip压缩
<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
</IfModule>

# 开启Expires缓存
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
</IfModule>
MIME类型设置
# 添加MIME类型
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/font-woff .woff

# 移除MIME类型
RemoveType application/x-gzip .gz
防止目录列出和防止访问敏感文件
# 禁止目录列出
Options -Indexes

# 禁止访问敏感文件
<FilesMatch "^\.ht">
    Require all denied
</FilesMatch>
改变默认页面
# 修改默认页面
DirectoryIndex index.html index.php

# 定义自定义错误页面
ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
防止爬虫访问页面
# Robots.txt文件
User-agent: *
Disallow: /
限制访问IP地址或IP段
# 限制指定IP
Order Deny,Allow
Deny from 192.168.0.1
Allow from all

# 限制IP段
Order Deny,Allow
Deny from 192.168.0.0/24
Allow from all

以上是一些.htaccess的常见使用示例,开发人员可以根据具体场景使用.htaccess配置文件,以满足项目的不同需求。