|
.htaccess文件为我们提供了配置目录的方法。这个文件在Apache服务器和Linux/Unix服务器都能很好的工作。而且对基于Windows系统的Apache服务器也有用。
开发者,网站所有者和站长们可以通过使用.htaccess文件做很多事。比如:
* 禁止目录被浏览
* 将访问者从某一页或者某一目录重定向
* 对目录密码保护
* 改变某一目录的索引页面
* 防止网站图片盗链
由于.htaccess文件允许我们改变每一目录的基础,下面是.htaccess文件可以放置的目录:
/.htaccess [网站根目录]/content/.htaccess [(content)内容目录]/content/html/images/.htaccess [图片文件夹]
idea: 在.htaccess文件中的命令将影响当前目录及其子目录,你可以将.htaccess文件置于根目录,这样就可以影响整个网站。
idea: 在你打算对.htaccess文件( 如果你有的话)做本文所提到的任何改变之前,请做好备份。我不对以下任何改变的后果负责。
与.htaccess文件共事
对于创建和编辑目的,一个普通的文本编辑器比如记事本就可以了。另外,你可以免费下载PSPad用来编辑。为了能在FTP软件中看到文件,你必须设置FTP 客户端以看到远程服务器的隐藏文件[对于你的本地系统也是同样的道理]。当编辑完成的时候,可以在windows中将文件另存为双引号的文件。[将文件另存为“.htaccess”]。这样可以将文件另存为.htaccess而不会改变内容。我想你很理解这些这些说明,那么让我们继续看一些例子以了解.htaccess文件的用法。
允许/禁止目录被浏览
如果允许目录浏览,当人们打开你的没有索引页面的网站的链接时候,看到的是所有的文件和文件夹。为了禁止目录被浏览,只要将下面的代码放到你的.htaccess文件中。
IndexIgnore */*
很多空间商公司,默认禁止目录被浏览并且会提示。如果你想打开这种功能,将下面几行代码放到.htaccess文件中。
Options +Indexes
将访问者从某一页面或者目录重定向到其他地方
很简单。看看以下的例子,将类似代码放到你的根目录下的.htaccess文件,其它的是就可以自动去做了。[记住使用永久的关键词以告诉搜索引擎,老的链接已经移到新链接了]。
语法: Redirect permanent [old directory or file name][space][new directory or file name]
Redirect permanent /olddirectory /newdirectoryRedirect permanent /olddirectory /somedirectory/newdirectoryRedirect permanent /oldhtmlfile.htm /newhtmlfile.htmRedirect permanent /oldhtmlfile.htm http://your-domain.com/newhtmlfile.htm
以上的语法是允许的。只要记住将file/directory名字根据实际进行修改。
改变网站默认的索引页面
几乎每一个空间商都会在服务器设置中把index.htm, index.html, index.php, index.asp, default.asp, default.html设置成默认的索引文件。所以,如果你的网站或者目录没有和上面列出相符的文件,让你的访问者看到的将是一系列文件和文件夹[通过目录浏览],也可能什么也看不见。为了改变网站或者目录默认的索引页,将下面的代码放到根文件夹下面的.htaccess文件或者你想改变索引文件的相关目录中。
DirectoryIndex homepage.htmDirectoryIndex somepage.htm
多个文件名之间可以用空格隔开,这样就会按顺序将所有列出的文件列为可能的索引文件。也就是说,如果在.htaccess文件中找到一个和你列出中的文件名相符的的文件[按照给出的顺序],那么这个这个文件就会被当作目录中的索引页面。以下多个名字的做法也是允许的:
DirectoryIndex homapage.html somepage.html myindexpage.html anything.html
idea: 记住,每一个入口只能写在一行。
防止盗链
如果你的网站包含别人链接向你的图片,你就要为这些多余的带宽付费,那么加入下面几行就可以防止任何的盗链。很多空间商公司都在控制面板提供了这种功能,比如CPanel。这一功能要求你的服务器上的Apache提供了mod_rewrite功能。
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www\.)?your-domain.com/.*$ [NC]RewriteRule .(gif|jpg)$ - [F]
在上面的代码中,将[your-domain]用你真实的域名代替[没有www],对于(www.\),用实际的子域名代替(sub-domain.\)。
禁止访问.htaccess文件
没有提到这一部分这篇文章就不完整。为了防止访问者看到你的.htaccess文件,把下面几行放到你的文件中。
[Files .htaccess]order allow,denydeny from all[/Files]
(注意把中括号[ ]改为小括号())
转自:http://wiki.guoshuang.com/%E5%88 ... _%E6%8C%87%E5%8D%97 |
|