htaccess手册
### .htaccess 使用手册详解 #### 一、.htaccess介绍 .htaccess 文件是一种非常重要的配置文件,尤其在使用 Apache Web 服务器时。它允许用户在没有直接访问服务器全局配置文件的情况下,对特定目录下的 Web 配置进行个性化设置。这对于虚拟主机环境尤其有用,因为它可以让不同的用户和站点拥有独立的配置选项,而不会相互影响。 .htaccess 的名字是由点开头的隐藏文件,这意味着它在 Unix/Linux 操作系统上是隐藏的。这个名字并没有特殊含义,只是遵循了 Apache 服务器中用于存放分布式配置文件的标准命名约定。 #### 二、.htaccess建立及使用 创建 .htaccess 文件相对简单,但在某些操作系统下可能需要特别注意: - **Windows XP**: 在 Windows XP 中,由于系统的限制,无法直接创建仅包含后缀的文件。因此,建议先创建一个名为 `htaccess.txt` 的文件,然后使用 FTP 工具将其上传到服务器,并在服务器端更改为 `.htaccess`。 - **Windows 7 及以上版本**: 这些版本的操作系统已经支持直接创建 .htaccess 文件,无需额外步骤。 为了确保 .htaccess 文件的正确性和兼容性,推荐使用专业的文本编辑器进行编辑,如 Notepad++ 或 Dreamweaver 等,而不是使用 Windows 自带的记事本。这是因为某些文本编辑器可能会在文件末尾添加不可见的字符,这可能导致 Apache 服务器解析 .htaccess 文件时出现 500 内部服务器错误。 #### 三、伪静态设置 伪静态是指通过 URL 重写技术,将动态 URL 显示为静态 URL 形式的一种方法。这种方式对于提高用户体验和搜索引擎优化(SEO)非常重要。伪静态设置通常涉及以下两个步骤: 1. **设置 .htaccess 中的伪静态规则**:这一步主要是定义 URL 重写的规则,通常需要根据使用的 CMS 或框架来定制这些规则。 2. **程序启用伪静态功能**:大多数现代网站框架或内容管理系统(CMS)都会提供开启伪静态的功能选项。启用后,生成的链接将按照定义好的规则转换为静态形式。 #### 四、.htaccess 常用举例 1. **屏蔽 IP** - **禁止特定的 IP**:可以通过 `deny from` 命令来禁止某个 IP 访问。 ```apacheconf Order deny,allow Deny from 192.168.1.1 ``` - **只允许特定的 IP 访问**:使用类似的命令,但需要调整顺序。 ```apacheconf Order allow,deny Allow from 192.168.1.1 ``` 2. **防止 .htaccess 文件被查看**:可以通过以下命令禁止对 .htaccess 文件本身的访问。 ```apacheconf <Files ".htaccess"> Order deny,allow Deny from all </Files> ``` 3. **规范 www.**:可以设置规则来强制所有访问都带有或不带有 "www"。 ```apacheconf RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ``` 4. **防止别人的域名解析到自己的独立 IP**:通过检查 HTTP_HOST 头来确保正确的域名访问。 ```apacheconf RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] RewriteRule ^ - [F,L] ``` 5. **设置时区**:可以在 .htaccess 文件中设置时区。 ```apacheconf php_value date.timezone "Asia/Shanghai" ``` 6. **自定义错误页面**:可以为特定的错误代码定义自定义错误页面。 ```apacheconf ErrorDocument 404 /error/404.html ErrorDocument 500 /error/500.html ``` 7. **启用 Deflate**:启用 Gzip 压缩来提高加载速度。 ```apacheconf <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> ``` 8. **设置默认首页及顺序**:可以设置默认首页及其优先级。 ```apacheconf DirectoryIndex index.php index.html index.htm ``` 9. **禁止显示目录列表**:可以禁止目录浏览。 ```apacheconf Options -Indexes ``` 10. **301 与 302 转向**:可以设置永久或临时的 URL 重定向。 ```apacheconf Redirect 301 /old-url /new-url ``` 11. **给目录及文件设置密码保护**:可以为特定目录或文件设置基本认证。 ```apacheconf AuthType Basic AuthName "Protected Area" AuthUserFile /path/to/.htpasswd Require valid-user ``` #### 五、.htaccess 常见问题 1. **.htaccess 文件不起作用**:确保文件语法正确,且服务器已正确配置以支持 .htaccess 文件。 2. **访问被阻止**:检查是否有误操作导致特定 IP 被禁止访问。 3. **URL 重写失败**:确认 RewriteEngine 是否开启,并且 RewriteBase 设置正确。 4. **内存溢出**:过多的重写规则可能导致内存溢出,尝试优化或减少规则数量。 #### 六、.htaccess 文章汇总 除了上述内容外,还可以参考以下文章进一步学习和了解 .htaccess 的使用技巧和案例: - **网址规范化之通用 URL 重写规则**:详细介绍了如何通过 URL 重写实现网址规范化。 - **解决 Addon 域名可用主域名的子目录访问的问题**:探讨了解决多域名环境下子目录访问问题的方法。 - **cPanel 主机的邮件登录地址修改为 mail.domain.com**:介绍了如何通过 .htaccess 修改 cPanel 主机的邮件登录地址。 - **FastCGI 如何自定义 php.ini 文件**:讲解了 FastCGI 环境下如何使用 .htaccess 来自定义 php.ini 文件的设置。 - **.htaccess 使用要点**:总结了一些 .htaccess 使用时需要注意的关键点。 - **MediaWiki 用 rewrite 修改 URL 格式**:介绍了如何使用 URL 重写技术来美化 MediaWiki 的 URL。 .htaccess 是一个非常强大的工具,能够帮助开发者和网站管理员实现许多复杂的配置需求。理解和掌握 .htaccess 的用法对于提高网站性能、安全性以及用户体验都是非常重要的。
剩余21页未读,继续阅读
- xxjfhh2014-01-06这个还可以的,我一直在用,服务器上用着不错的
- dotfree2013-09-28还可以,不过感觉不如百科的清楚
- 粉丝: 28
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助