12,配置.htaccess 直接访问加密网站
当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的):
当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的):
http://www.amigosky.com/new/file/123.html
上述例子中,访问在root目录下的名为oldfile.html可以键入:
访问一个旧次级目录中的文件可以键入:
你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站 http://www.amigosky.com/newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:
这样,任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:
请求将被重定向到:
如果正确使用,此功能将极其强大。
我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:
或者整个目录的转向:
改变缺省的首页文件
一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而
是某个特定的文件名,比如在w3sky中是 w3sky.php。这种情况下,要用户记住文件名来访问很麻烦
。在.htaccess中可以轻易的设置新的缺省文件名:
DirectoryIndex 新的缺省文件名
也可以列出多个,顺序表明它们之间的优先级别,例如:
DirectoryIndex filename.html index.cgi index.pl default.htm
也许你不想一直使用index.htm或index.html作为目录的索引文件。举例来说,如果你的站点使用
PHP文件,你可能会想使用 index.php来作为该目录的索引文档。当然也不必局限于“index”文档
,如果你愿意,使用.htaccess你甚至能够设置 foofoo.balh来作为你的索引文档!
这些互为替换的索引文件可以排成一个列表,服务器会从左至右进行寻找,检查哪个文档在真实的
目录中存在。如果一个也找不到,它将会把目录列表显示出来(除非你已经关闭了显示目录文件列
表)。
DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm
户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。
当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,
所以这并不是限制使用的常用方法。
你可以使用以下命令封禁一个IP地址:
这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的
地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。
你可以使用以下命令允许一个IP地址访问网站:
被允许的IP地址则为000.000.000.000,你可以象封禁IP地址一样封禁整个网段。
如果你想阻止所有人访问该目录,则可以使用:
有些时候,由于某种原因,你的目录里没有index文件,这意味着当有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这会给你的网站留下安全隐患。
为避免这种情况(而不必创建一堆的新index文件),你可以在你的.htaccess文档中键入以下命令,用以阻止目录列表的显示:
你所知道的任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:
举例来说,如果我的根目录下有一个nofound.html文件,我想使用它作为404 error的页面:
如果文件不在网站的根目录下,你只需要把路径设置为:
以下是一些最常用的错误:
常用的客户端请求错误返回代码:
常见的服务器错误返回代码:
接下来,你要做的只是创建一个错误发生时显示的文件,然后把它们和.htaccess一起上传。
用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:
一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:
ErrorDocument 错误代码 /目录名/文件名.扩展名 如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子: