.htaccess语法介绍和常规使用示例
.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还支持许多其他指令和功能,可以根据具体需求进行配置。