.htaccess是Apache服务器中用于配置网站的文件。它使用Apache服务器的模块mod_rewrite和mod_auth来实现对网站的访问控制和重定向。
.htaccess文件的语法如下:
- 注释:以"#"开头的行为注释,不会被服务器处理。
- 指令:每一行都由一个指令和一个参数组成,使用空格分隔。
- 指令块:可以使用指令块来组织相关指令,使用<指令块名称>和</指令块名称>包围。
以下是一些常用的.htaccess指令和示例:
-
重定向:
-
Redirect:重定向一个页面到另一个页面。
例如:Redirect /old-page.html /new-page.html
-
RewriteRule:使用正则表达式重写URL。
例如:RewriteRule ^old-page.html$ new-page.html [R=301,L]
-
阻止目录列表:
- Options:禁止目录列表。
例如:Options -Indexes
-
访问控制:
- Require:设置访问控制规则。
例如:Require all denied
-
MIME类型:
- AddType:添加MIME类型。
例如:AddType application/x-httpd-php .php
-
自定义错误页面:
- ErrorDocument:指定错误页面。
例如:ErrorDocument 404 /error404.html
-
启用GZIP压缩:
- mod_deflate:启用GZIP压缩。
例如:
SetOutputFilter DEFLATE
-
禁止Hotlinking:
- RewriteCond:检查HTTP_REFERER来判断是否允许Hotlinking。
例如:RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]
上述示例只是.htaccess的一小部分功能,.htaccess还支持许多其他指令和功能,可以根据具体需求进行配置。