找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
积分等级发帖收益的说明江阴论坛帮助汇总江阴论坛管理规则(必看)江阴论坛版主招聘中江阴论坛已运行
查看: 1646|回复: 0

[技术分享] 初学者.htaccess指南

[复制链接]
发表于 2009-12-21 10:32:06 | 显示全部楼层 |阅读模式
.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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|江阴人家

GMT+8, 2024-12-28 21:46 , Processed in 0.368714 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表