PHP笔记网

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2013-12-01 21:11:19  修改时间:2024-12-12 04:22:48  分类:Apache/Nginx  编辑

.htaccess是什么?

.htaccess分布式配置文件,它提供了针对目录改变配置的方法——在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。并且子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。说的通俗点,他就是:一个更改服务器配置的‘文本’文件。一般来说,如果你的虚拟主机使用的是Unix或Linux系统,或者任何版本的Apache网络服务器,从理论上讲都是支持.htaccess的。他可以实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等等。

如何建立.htaccess?

在我们使用的Windows主机上创建.htaccess文件是有点困难的。编写文件容易,你只需要在文字编缉器(例如:记事本)里写下适当的代码。困难的是文件的保存,因为.htaccess是一个古怪的文件名,其实它并没有文件名,只有一个由8个字母(htaccess)组成的扩展名,而在Windows系统中这是无法接受的文件名。因此,这里有4个方法可以实现。

方法一:保存文件的时候将文档保存成名为“***.txt”,再将其上传到服务器上,之后直接使用FTP软件来重命名为“.htaccess”。

方法二:保存文件的时候选择文件—>另存为,保存类型选所有文件,然后文件名输入.htaccess 。

方法三:直接在你的Unix或Linux虚拟主机上建立。

方法四:先用记事本编写好,随便保存为一个什么文件名,然后打开“命令提示符”(CMD),然后再用重命名命令(rename),例如:rename c:\htaccess.txt  .htaccess
当然方法还有,这里就不一一介绍了!不过请注意: .htaccess必须,保存为ANSI 格式,以ASCII模式上传,最好将其权限设置为644

目录规则

一般我们将.htaccess文件放置在网站的根目录,控制所在目录及所有子目录,当然也可以放在网站的任何一个子目录下,但如果放置在子目录中,子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

简单应用举例:

1.自定义404页面:如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面,只需写入:ErrorDocument 404  /notfound.html

2.自定义500页面:如果我的根目录下有一个internalerror.html文件,我想使用它作为500 error的页面,只需写入:ErrorDocument 500  /internalerror.html

3.301重定向:如果哪天你的网站换域名了,为了不失去以前搜索引擎对你网站的收录,只需编写如下代码。

例如:将www.oldurl.com重定向到www.newsite.com

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.oldurl.com$ [NC]
RewriteRule ^(.*)$  http://www.newsite.com/$1 [R=301,L]