Hypertext Access file超文本访问文件入门


备注

.htaccess文件控制Apache与您的站点的交互方式。当.htaccess文件放在域的目录(通常是根目录)中时,Apache会检测并执行该文件。

.htaccess文件通常用于以下内容:

  • 拒绝您网站的特定IP
  • 密码保护您的网站
  • 重写网址
  • 自定义错误页面
  • 压缩和缓存文件
  • 一般安全和黑客预防

版本

各种Apache版本

当前版本发布
1.3 42年3月1日 1998年6月6日
2.0 2.0.65 2002年4月6日
2.2 2.2.31 2005-12-01
2.4 2.4.23 2012-02-21

自定义错误页面

.htaccess 可用于设置与您网站主题相匹配的自定义错误页面,而不是在用户最终显示错误服务器响应代码的页面时看到带有黑色techno-babble的白色错误页面。错误页面可以是任何浏览器可解析文件,包括(但不限于).html,.php,.asp,.txt,.xml。

几乎所有常见错误响应代码的示例:

#Client Errors

ErrorDocument 400 /mycool400page.html    # Bad Request
ErrorDocument 401 /mycool401page.html    # Unauthorized
ErrorDocument 402 /mycool402page.html    # Payment Required
ErrorDocument 403 /mycool403page.html    # Forbidden
ErrorDocument 404 /mycool404page.html    # Page Not Found

#Server Errors

ErrorDocument 500 /mycool500page.html    # Internal Server Error
ErrorDocument 501 /mycool501page.html    # Not Implemented
ErrorDocument 502 /mycool502page.html    # Bad Gateway
ErrorDocument 503 /mycool503page.html    # Service Unavailable
ErrorDocument 504 /mycool504page.html    # Gateway Timeout
ErrorDocument 505 /mycool505page.html    # Internal Server Error
 

对于最常见的错误响应400,403,404和500,最好包含错误文档,因为这些错误可以在所有浏览器上发生。

500错误是最臭名昭着的错误之一,因为如果在加载页面发送时出现任何问题,则会发生错误,最常见的是PHP,ASP和其他html预处理器之类的服务器html预处理失败。在测试时设置500页以显示发生的错误,而不是非特定的500错误页面是一种很好的做法。

要启用500错误页面来编写特定错误,请根据您使用的html预处理器查看以下内容之一: php asp

设置服务器时区

世界上有许多时区,确保您的服务器设置为正确的时间非常重要。这是通过使用以下方式在.htaccess 完成的:

SetEnv TZ America/Indianapolis
 

可能的其他时区的一些示例:

America/Los_Angeles
America/Los_Angeles - Pacific Time 
Pacific/Honolulu - Hawaii
 

只需确保在所选时区前使用SetEnv

设置.htaccess

.htaccess 文件(或“分布式配置文件”)提供了一种基于每个目录进行配置更改的方法。包含一个或多个配置指令的文件放在特定的文档目录中,并且指令适用于该目录及其所有子目录。

.htaccess文件控制Apache与您的站点的交互方式。它用于更改请求和修改默认行为,而无需更改核心服务器配置文件。

设置.htaccess 就像打开记事本并将其保存为.htaccess 一样简单。通常,此文件将放在网站文件的root 目录中,但您可以在多个不同的目录下使用它。如果您正在寻找密码保护特定目录,这将特别有用。

启用.htaccess

有时甚至httpd.conf.htacces 文件中的单个错误都会导致服务器临时崩溃,用户将看到500 - Internal Server Error页面。因此,在进行更改之前,请确保始终备份httpd.conf.htaccess 文件。

<Directory "/var/www">
    AllowOverride All
</Directory>
 

.htaccess 文件通常默认启用。这由httpd.conf 文件中的AllowOverride 指令控制。该指令只能放在<Directory> 部分中。

除了All 之外,还有许多其他值限制了某些上下文的配置。他们之中有一些是:

  • - 完全禁用.htaccess
  • AuthConfig - 授权指令,例如处理基本身份验证的指令。
  • FileInfo - 处理设置标题,错误文档,Cookie,URL重写等的指令。
  • 索引 - 列出自定义的默认目录。
  • 限制 - 以多种不同方式控制对页面的访问。
  • 选项 - 对索引的类似访问,但包括更多的值,如ExecCGI,FollowSymLinks,Includes等。
# Only allow .htaccess files to override Authorization and Indexes
AllowOverride AuthConfig Indexes