27

BloggerWave的话题广告

DreamHost 优惠码:HuNao(节省 50$加送3个顶米,详情) 。论坛讨论
DreamHost 优惠码:ZheTeng(节省 50$加送独立IP,详情) 。论坛讨论
Dreamhost安装杰奇小说系统采集成功 演示:http://ebooks.dupola.net.
大陆读者请更改本blog Feed地址:http://feed.feedsky.com/host


The following is a paid review form Bloggerwave .这是一篇来自Bloggerwave的付费评论文章。

话题广告越来越流行,widgets广告也在流行。我最早参与的是Review Me,后来又是国内的FeedSky的,现在又有Bloggerwave。肯定还有很多,只是我们没有发现罢了。我们现在看到的也多是英文和中文的,你说日文德文X文……是吧?

对比三个话题广告,Bloggerwave 应该是最简单的了,它不像Review Me和FeedSky那样有许多要求,比如alexa排名、PR值等。而Review Me更是可以直接看到由alexa、PR值等因素引起的价格差。我blog的“价值”在Review Me后台更新一次,价格就大变样了……

要写Bloggerwave的付费评论只须以下几个简单步骤:

1. 注册一个paypal账号(注意不是贝宝,贝宝收不了美元的)
2. 去Bloggerwave注册个账号并添加你blog,然后等待审核。
3. 审核一般需要1-2天,然后你将发现有三个评论可以写了。

你需要注意的是

1. 该文章不需要在首页,只是至少在30天内不被删除。
2. 每篇评论都有详细说明,必须加在文章中的内容要注意。
3. Bloggerwave 每个月审核结算一次,如果没有通过审核也不要紧,你可以对文章进行适当修改后重新发布。Bloggerwave只支持PayPal。
4. 它们要求在blog里加一些代码,有的是超连接,有的是其他。

26

DreamHost出现大规模的DNS故障

DreamHost 优惠码:HuNao(节省 50$加送3个顶米,详情) 。论坛讨论
DreamHost 优惠码:ZheTeng(节省 50$加送独立IP,详情) 。论坛讨论
Dreamhost安装杰奇小说系统采集成功 演示:http://ebooks.dupola.net.
大陆读者请更改本blog Feed地址:http://feed.feedsky.com/host


DreamHost出现大规模的DNS故障

这几天好多人在谈这个。 DreamHost 官方blog也提到这个了。最近这段时间DH好像问题很多,不过还好我的主机目前问题非常少,自从上次出现大规模的故障我强烈指责他们以后,问题就很少了。

不过目前发现DNS问题解决了不少。

14

再论Dreamhost和overselling

DreamHost 优惠码:HuNao(节省 50$加送3个顶米,详情) 。论坛讨论
DreamHost 优惠码:ZheTeng(节省 50$加送独立IP,详情) 。论坛讨论
Dreamhost安装杰奇小说系统采集成功 演示:http://ebooks.dupola.net.
大陆读者请更改本blog Feed地址:http://feed.feedsky.com/host


今天看到了订阅的Michael 写的一篇《Dreamhost 服务器上的网站数量》的文章,提到了Dreamhost单台服务器网站数量以及overselling的问题,就我用过这段时间的Dreamhost的主机来看,这些地方是值得一说的。
首先关于overselling,所有主机商都在overselling,这是不可否认的事实。一方面,肯定不是所有客户能用光它的所有空间和流量 额度的,从客户层面来看,只要客户在使用它的空间时,不出现还未到达额度就不能用的情况,客户就可以接受。有没有预留足够的空间那是服务商的问题。另一方 面,服务商如果为每个客户预留足够配额的空间,在大多数情况下都是不必要的,这绝对是资源的浪费。因此overselling是再正常不过的了。对于主机 商和用户,大可以不必关心此类问题,所剩下的只不过是道义上主机商有没有刻意隐瞒这种行为,或者把不隐瞒这种行为作为自身诚实的卖点的区别而已。

可能有人会问,如果恰好每台服务器上有很多较真的客户,非要用满空间额度,导致服务器硬盘爆了怎么办?实际这个问题从技术上也是不难解决的,例如磁 盘阵列的动态扩容,逻辑卷增容等都可以实现,所要做的只不过是监控服务器资源使用情况,在将要达到临界值的时候通知sysadmin增容而已。即使系统弱 智到无法扩容,不是还可以把用户站点分流到其他服务器嘛,只不过会增加一个无downtime的迁移过程而已。总之办法多的是。因此主机商采用 overselling的策略,是对用户以及对其自身都有利的。

貌似Dreamhost的overselling被指责更多是多用户站点并存导致的负载以及不稳定因素,而不是空间或者流量overselling问题。下面再讲讲这一点,因为貌似Dreamhost在这里主机架构与其它一些传统厂商有很大不同。

在前面提到的文章里,介绍了通过截passwd来断定一台服务器上有多少帐号的方法,此方法确实能大致估算出一台服务器上有多少站点。但这里有一个 问题,就是你shell帐号所在的主机真的就是你web访问的主机吗?从一个shell帐号本身所具有的权限我们来一步一步推断这个问题:

首先不知有没有人注意,在后台panel创建的不同的domain可能会有不同的IP,甚至在同一domain使用了一段时间后,再删除重建也可能 会更换IP(非常少见)。这就说明,dreamhost的系统首先对于每个IP上容载的vhost数目有其自身的一个分配机制。也就是说:每IP上的站点 数目对于dreamhost是可控的,并且这个数目应当是小于物理服务器上站点数目的。这个机制就能解决站点添加独立IP的问题,以及对IP实现的流控或 访问量问题,也就做到了初步客户访问层面的隔离。比如说可能一个IP出问题,影响的也就仅仅是这个IP上的站点了。当然貌似大多数的downtime不太 可能是这种情况。

然后深入分析一下。一个典型的站点,大体服务层次可以分为基于IP+头名的客户访问层次(就是上面一段的内容),应用服务器层次 (Application Server,比较容易混淆的概念),文件存储层次(ftp,ssh所管理的文件),附加服务层次(mysql,dns,email等)。对于传统主机 商,最典型的情况是所有这些服务都由同一台物理服务器完成的,或者是少量附加服务分离,例如数据库单独运行在别的服务器上,而对于dreamhost,显 然不是这样。就我目前所能了解到的东西来看,dreamhost的web前端,dns,email是分离的,至少没在同一个IP上,这个可以从不同的子域 名解析看出来。但web前端的IP和ftp,ssh帐号登陆的IP是同一个,这似乎说明这些服务似乎也是运行在一台物理服务器上的。但有一个命令似乎能提 供出不同的论点,就是mount,输入这个会发现列出的挂载点中有很多nfs挂在过来的文件系统,而这些系统恰恰是放客户数据的/home下的不同目录。 而且从具体/home里的内容可以看到有很多更为复杂的符号链接,有多个用户的家目录会挂在同一个mount点下。不妨设想,这是通过nfs提供的文件存 储服务器,一台用于前端web访问的服务器,后面挂了多台nfs server,这些nfs server,才是具体存放用户数据的服务器。

所以这里就明朗了,dreamhost在同一台服务器上放置数千个站点,实际上这些站点的文件是存储在不同的后端nfs server上的。因此其overselling并不是想象得那么夸张。再加上无法断定的是否对于多个不同IP也处于不同物理服务器分担 (ifconfig netstat无权执行),apache本身配置未知,应用服务配置(fastcgi等,这些没必要追究得太细,估计也没人关心)等情况,往好一点的方面 想dreamhost可能会有更细致的分布式设计,因此一台双Operton跑数千个站点数T空间从技术上也可以大致讲通了。

大体也就写这么多了吧,以前本打算悉心研究一下dreamhost的底层架构来的,可惜一直没时间,最近由由于速度问题退掉了原有的 dreamhost选择了hostmonster,因此也只能分析到如此程度了。但用起cpanel以后的系统才发现,dreamhost本身的架构设计 以及panel考量还是很优秀的,比起这些老前辈来说,可以算是十分有特点了。Dreamhost如此出名不是没道理的。

转自:Solo Estoy 原文:再论Dreamhost和overselling

03

awstats6.5安装笔记

今天依照DreamHost Wiki的指示,成功安装了多域名分析的awstats6.5,以下的笔记大多是翻译了WIKI上的文档以及参考了Chedongawstats安装笔记。同时,安装过程也是一次很好学习使用shell的机会。

1. Download awstats6.5 下载程序
Login,进入根目录后,利用wget下载源程序:

wget http://awstats.sourceforge.net/files/awstats-6.5.tar.gz

解压缩文件:

tar xfzv awstats-6.5.tar.gz

将文件夹/awstats-6.5重命名为/awstats,并进入/awstats文件夹:

mv awstats-6.5 awstats
cd awstats

2. 安装准备
新建文件夹/data用于存放awstats的数据,并改变/data权限:

mkdir data
chmod -R 755 data

将awstats的/cgi-bin目录移动到/home/yourusername/awstats/下面:

mv wwwroot/cgi-bin .

在你的domain1.com下面新建一个/statistics的文件夹,用于存放awstats最终生成的静态页面文件:

cd domain1.com
mkdir statistics

将/icon,/css,/js三个文件夹拷贝到/statistics文件夹下面,以使其静态页面可以正常引用这些文件:

cp /home/yourusername/awstats/wwwroot/icon
/home/yourusername/domain1.com/statistics/iconcp /home/yourusername/awstats/wwwroot/css
/home/yourusername/domain1.com/statistics/css

cp /home/yourusername/awstats/wwwroot/js
/home/yourusername/domain1.com/statistics/js

注意,如果执行时出现”cp: omitting directory”的提示信息,则请使用cp -r参数来递归拷贝这些文件。

3. 配置conf文件
进入/home/yourusername/awstats/cgi-bin/文件夹,你的config文件都保存在这里:

cd ~
cd ./awstats/cgi-bin/

不要直接重命名你的awstats.model.conf文件,建议采用拷贝的方式新增:

cp awstats.model.conf common.conf

其中common.conf就是你新生成的用于所有domain的公共配置文件,在不同域名的配置文件中则可以完全省略这一冗长的部分。

但是,如果你只对一个域名进行统计,则可以直接生成文件”awstats.domain.com.conf”,再按以下方式进行编辑设定。

GeoIP.dat的path可以通过以下命令得到:

locate “GeoIP.dat”

我得到的路径是:”/usr/local/share/GeoIP/GeoIP.dat”,你的不一定也是这个,请确认清楚。

现在编辑公共配置文件:

vi common.conf

进入后,处于命令状态时,最下面一行显示了文件基本信息,或者空白,按”insert”键进入编辑模式,最下行显示”–insert–”及当前 光标位置信息(注:再次按”insert”键会进行到”–replace–”模式,插入及替换模式用”insert”键来切换)。现在进入– Insert–模式,改动以下信息:

#LogFile=”/home/yourusername/logs/domain1.com/http/access.log.0″
# SiteDomain=”domain1.com”
# HostAliases=”www.domain1.com”
DNSLookup=0
DirData=”/home/yourusername/awstats/data/”
DirIcons=”icon”
SaveDatabaseFilesWithPermissionsForEveryone=0
DefaultFile=”index.php index.html”
lang=”cn”
LoadPlugin=”decodeutfkeys”
LoadPlugin=”geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat”

编辑完成后,按”ESC”切换到命令模式,输入”:w”回车,保存当前变更,再使用”:q”退出vi编辑界面。
注意:被”#”屏蔽掉的三行,是每个domain不同的,需要在各个awstats.domain*.conf中设定。

如果你只对一个域名进行统计,则不必屏蔽这三行,写入正确的配置参数即可。

接下来,针对不同的域名,设定不同的配置:

cp awstats.model.conf awstats.domain1.com.conf
vi awstats.domain1.com.conf

在awatats.domain1.com.conf里,首先删除所有内容,在命令状态下,输入”ndd”,n为从光标所在位置向下的行数,光标下n-1行将被删除。
正文输入:

Include “common.conf”
LogFile=”/home/yourusername/logs/domain1.com/http/access.log.0″
SiteDomain=”domain1.com”
HostAliases=”www.domain1.com”

保存退出即可。生成其他域名的方法相同,只需注意:”domain*.com”这一段要保持一致。

配置好所有的域名后,检查.pl文件的权限,所有.pl文件权限应设定为”755″,即”-rwxr-xr-x”:

ls -o

4. 首次生成统计页面

perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/cgi-bin/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/

注意以上只有一行,自动换行除外。
使用web浏览器,地址栏键入http://domain1.com/statistics/awstats.domain1.com.html
看上去怎么样?

5. 设定crontab
编辑crontab任务清单,DreamHost使用nano编辑器:

crontab -e

针对不同的domain,设定其定时执行的cron job:

1 0 * * * perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/

注意以上只有一行,自动换行除外。设定完成后,保存退出nano:

CTRL + O
CTRL + X

注意,你可以在不同的domain下设定不同的/statistics文件夹,这样的话,你的配置文件则需要做相应的改动。我把所有的统计页面都放 在了/domain1.com/statistics下面,因此针对不同的domain只需要改动”-config=domain1.com”一项即可。

详细的使用crontab方法详见Shell使用指南

6. 设定.htaccess文档
设定默认页面,在你的.htaccess文档中写入:

DirectoryIndex awstats.domain1.com.html

当用户访问http://www.domain1.com/statistics时,会自动访问/awstats.domain1.com.html,对于domain2.com及domain3.com的统计页面,请自行研究解决吧。

详细的.htaccess使用请见.htaccess指南

03

.htaccess指南

这是关于.htaccess的一篇介绍,也是很容易让人理解的一篇关于.htaccess应用的文档,我随意翻译了一下,自己也玩一玩.htaccess

• Part 1 – Introduction介绍
• Part 2 – .htaccess Commande命令
• Part 3 – Password protection密码保护

Part 1 – Introduction介绍

Introduction 介绍

In this tutorial you will find out about the .htaccess file and the power it has to improve your website. Although .htaccess is only a file, it can change settings on the servers and allow you to do many different things, the most popular being able to have your own custom 404 error pages. .htaccess isn’t difficult to use and is really just made up of a few simple instructions in a text file.
从本指南中,您可以学习到有关.htaccess文档及其功能,用以优化您的网站。尽管.htaccess只是一个文档,但它可以更改服务器的设置,允许 您做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。.htaccess 并不难于应用,只是在一个text文档中添加几条简单的指令而已。

Will My Host Support It? 我的主机支持它吗?

This is probably the hardest question to give a simple answer to. Many hosts support .htaccess but don’t actually publicise it and many other hosts have the capability but do not allow their users to have a .htaccess file. As a general rule, if your server runs Unix or Linux, or any version of the Apache web server it will support .htaccess, although your host may not allow you to use it.
这可能很难用简单的答案来回答。许多主机支持.htaccess但实际上并不会明确声明,许多其他类型的主机有能力但并不允许他们的用户使用. htaccess文档。作为一般性的规则,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,它一般来说是支持. htaccess的,尽管你的主机服务器可能不允许你使用它。

A good sign of whether your host allows .htaccess files is if they support password protection of folders. To do this they will need to offer .htaccess (although in a few cases they will offer password protection but not let you use .htaccess). The best thing to do if you are unsure is to either upload your own .htaccess file and see if it works or e-mail your web host and ask them.
你的主机是否允许.htaccess,很好的一个标志是它是否支持文件夹的密码保护。为此,他们将提供.htaccess支持(尽管少数情况下他们提供密 码保护功能但不允许你使用.htaccess)。如果你不确定,最好的办法一是上传你自己的.htaccess文档看看是否有用,二是e-mail给你的 主机服务商询问。

What Can I Do? 我该怎么做?

You may be wondering what .htaccess can do, or you may have read about some of its uses but don’t realise how many things you can actually do with it.
你可能疑惑.htaccess到底能做些什么,或者你可能曾知道它的一些功能但并不真正了解你实际到底可以用它来做多少事情。

There is a huge range of things .htaccess can do including: password protecting folders, redirecting users automatically, custom error pages, changing your file extensions, banning users with certian IP addresses, only allowing users with certain IP addresses, stopping directory listings and using a different file as the index file.
.htaccess可以做大量范围的事情,包括:文件夹密码保护、用户自动重新指向、自定义错误页面、变更你的文件扩展名、屏蔽特定的用户IP地址、只允许特定的IP地址、停止目录表以及使用其他文件作为index文件。

Creating A .htaccess File 创建一个.htaccess文档

Creating a .htaccess file may cause you a few problems. Writing the file is easy, you just need enter the appropriate code into a text editor (like notepad). You may run into problems with saving the file. Because .htaccess is a strange file name (the file actually has no name but a 8 letter file extension) it may not be accepted on certain systems (e.g. Windows 3.1). With most operating systems, though, all you need to do is to save the file by entering the name as:
创建.htaccess文档也许会给你带来几个问题。写文档很容易,你只需要在文字编缉器(例如:写字板)里写下适当的代码。然后,你可能会遇到保存文档 的困难,因为.htaccess是一个古怪的文件名(文档事实上没有文件名,只有一个由8个字母组成的扩展名),一些系统(例如windows 3.1)无法接受这样的文件名。在大多数的操作系统中,你需要做的是将文档保存成名为:

“.htaccess”

(including the quotes). If this doesn’t work, you will need to name it something else (e.g. htaccess.txt) and then upload it to the server. Once you have uploaded the file you can then rename it using an FTP program.
(包括引号)。如果这也不行,你需要将其命名为其他的名字(例如htaccess.txt),再将其上传到服务器上,此后你就可以利用FTP软件来重命名它了。

Warning 警告

Before beginning using .htaccess, I should give you one warning. Although using .htaccess on your server is extremely unlikely to cause you any problems (if something is wrong it simply won’t work), you should be wary if you are using the Microsoft FrontPage Extensions. The FrontPage extensions use the .htaccess file so you should not really edit it to add your own information. If you do want to (this is not recommended, but possible) you should download the .htaccess file from your server first (if it exists) and then add your code to the beginning.
在使用.htaccess之前,我必须给你一些警告。尽管在服务器上使用.htaccess绝对不太可能给你带来任何麻烦(如果有些东西错了,它只是没效 用罢了),但如果你使用Microsoft FrontPage Extensions你就需要小心些。FrontPage Extensions使用了.htaccess,因此你不能编辑它,加入你自己的信息。如果你需要(并不推荐,但是可能)你应该先从服务器上下载. htaccess文档(如果存在),之后在前面加上你的代码。

Custom Error Pages 自定义错误页

The first use of the .htaccess file which I will cover is custom error pages. These will allow you to have your own, personal error pages (for example when a file is not found) instead of using your host’s error pages or having no page. This will make your site seem much more professional in the unlikely event of an error. It will also allow you to create scripts to notify you if there is an error (for example I use a PHP script on Free Webmaster Help to automatically e-mail me when a page is not found).
我想介绍的.htaccess第一个应用是自定义错误页面,这使得你可以拥有自己的、个性化的错误页面(例如找不到文件时),而不是你的服务商提供的错误 页或没有任何页面。这会让你的网站在出错的时候看上去更加专业。你还可以利用脚本程序在发生错误的时候通知你(例如我使用Free Webmaster Help的PHP脚本程序,当找不到页面的时候自动e-mail给我)。

You can use custom error pages for any error as long as you know its number (like 404 for page not found) by adding the following to your .htaccess file:
任何你知道代码的错误(像404找不到页面),你都可以将其变成自定义页面,要做的只是在.htaccess文件里加入以下一段:

ErrorDocument errornumber /file.html

For example if I had the file notfound.html in the root direct
ory of my site and I wanted to use it for a 404 error I would use:
例如,如果我的根目录下有一个nofound.html文档,我想使用它作为404 error的页面:

ErrorDocument 404 /notfound.html

If the file is not in the root directory of your site, you just need to put the path to it:
如果文件不在网站的根目录下,你只需要把路径设置为:

ErrorDocument 500 /errorpages/500.html

These are some of the most common errors:
以下是一些最常用的错误:

401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong page

Then, all you need to do is to create a file to display when the error happens and upload it and the .htaccess file.
这样,你要做的只是生成一个错误显示文档,然后把它们上传。
Part 2 – .htaccess 命令

Introduction 介绍

In the last part I introduced you to .htaccess and some of its useful features. In this part I will show you how to use the .htaccess file to implement some of these.
上一部分中我已经将你引入了.htaccess以及它的一些有用的功能,在这一部分里,我将向您演示如何应用.htaccess文档去实现这些功能。

Stop A Directory Index From Being Shown 停示显示目录索引

Sometimes, for one reason or another, you will have no index file in your directory. This will, of course, mean that if someone types the directory name into their browser, a full listing of all the files in that directory will be shown. This could be a security risk for your site.
有些时候,由于某种原因,你的目录里没有index文件,当然这样意味着如果有人在浏览器地址栏键入了该目录的路径,该目录下所有的文件都会显示出来,这造成了网站的安全威胁。

To prevent against this (without creating lots of new ‘index’ files, you can enter a command into your .htaccess file to stop the directory list from being shown:
为了避免这种情况(而不必创建一堆的新index文档),你可以在你的.htaccess文档中键入以下命令,用以阻止目录索引的显示:

Options -Indexes

Deny/Allow Certian IP Addresses 阻止/允许特定的IP地址

In some situations, you may want to only allow people with specific IP addresses to access your site (for example, only allowing people using a particular ISP to get into a certian directory) or you may want to ban certian IP addresses (for example, keeping disruptive memembers out of your message boards). Of course, this will only work if you know the IP addresses you want to ban and, as most people on the internet now have a dynamic IP address, so this is not always the best way to limit usage.
有些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者你想拦截某些特定的IP地址(例 如:将低级用户隔离于你的信息面版外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,所以这并不是限制 使用的常用方法。

You can block an IP address by using:
你可以使用以下命令拦截一个IP地址:

deny from 000.000.000.000

where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the groups of numbers, you will block a whole range.
被拦截的IP地址则为000.000.000.000,如果你只指定其中1或2个代码组,你可以拦截整个区域的地址。

You can allow an IP address by using:
你可以使用以下命令允许一个IP地址的访问:

allow from 000.000.000.000

where 000.000.000.000 is the IP address. If you only specify 1 or 2 of the groups of numbers, you will allow a whole range.
被允许的IP地址则为000.000.000.000,如果你只指定其中1或2个代码组,你可以允许整个区域的地址。

If you want to deny everyone from accessing a directory, you can use:
如果你想阻止所有人访问该文件目录,你可以使用:

deny from all

but this will still allow scripts to use the files in the directory.
但这将仍然允许脚本程序使用这个目录下的文档。

Alternative Index Files 替代的index文档

You may not always want to use index.htm or index.html as your index file for a directory, for example if you are using PHP files in your site, you may want index.php to be the index file for a directory. You are not limited to ‘index’ files though. Using .htaccess you can set foofoo.blah to be your index file if you want to!
也许你不想一直使用index.htm或index.html来作为目录的索引文档,例如你的站点使用PHP文档,你会想使用 index.php来作为该目录的索引文档。当然也不必局限于“index”文档,如果你愿意,你尽管使用foofoo.balh来作为你的索引文档!

Alternate index files are entered in a list. The server will work from left to right, checking to see if each file exists, if none of them exisit it will display a directory listing (unless, of course, you have turned this off).
替代的索引文档可以排成一个列表,服务器会从左至右进行寻找,看看哪个文档在真实的目录中存在。如果一个也找不到,它将会把目录清单显示出来(当然除非你关闭了显示目录文件清单)。

DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm

Redirection 重新指向

One of the most useful functions of the .htaccess file is to redirect requests to different files, either on the same server, or on a completely different web site. It can be extremely useful if you change the name of one of your files but allow users to still find it. Another use (which I find very useful) is to redirect to a longer URL, for example in my newsletters I can use a very short URL for my affiliate links. The following can be done to redirect a specific file:
.htaccess其中一个极其有用的功能,就是将请求重新指向站内或站外的不同文档。当你改变了一个文档名称时但仍然想让用户仍然可以用旧链接找到它, 这个时候此功能将变得极其有用。另一个应用(我发现的很有用的)是重新指向一个长URL,例如在我的时事信息中,我可以使用一个很简短的URL来指向我的 联合链接。以下是一个重新指向特定文档的例子:

Redirect /location/from/root/file.ext http://www.othersite.com/new/file/location.xyz

In this above example, a file in the root directory called oldfile.html would be entered as:
上述的例子中,访问在root目录下的名为oldfile.html可以键入:

/oldfile.html

and a file in the old subdirectory would be entered as:
访问一个旧次级目录中的文件可以键入:

/old/oldfile.html

You can also redirect whole directoires of your site using the .htaccess file, for example if you had a directory called olddirectory on your site and you had set up the same files on a new site at: http://www.newsite.com/newdirectory/ you could redirect all the files in that directory without having to specify each one:
你也可以使用.htaccess将整个网站的目录都做重新指向,假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站 http://www.newsite.com/newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重新指向而不必一 一声明:

Redirect /olddirectory http://www.newsite.com/newdirectory

Then, any request to your site below /olddirectory will bee redirected to the new site, with the
extra information in the URL added on, for example if someone typed in:
这样,任何指向到站点中/olddirectory的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:

http://www.youroldsite.com/olddirecotry/oldfiles/images/image.gif

They would be redirected to:
请求将被重新指向到:

http://www.newsite.com/newdirectory/oldfiles/images/image.gif

This can prove to be extremely powerful if used correctly.
如果正确使用,本功能将极其强大。

Part 3 – 密码保护

Introduction 介绍

Although there are many uses of the .htaccess file, by far the most popular, and probably most useful, is being able to relaibly password protect directories on websites. Although JavaScript etc. can also be used to do this, only .htaccess has total security (as someone must know the password to get into the directory, there are no ‘back doors’)
尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录的可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。

The .htaccess File

Adding password protection to a directory using .htaccess takes two stages. The first part is to add the appropriate lines to your .htaccess file in the directory you would like to protect. Everything below this directory will be password protected:
利用.htaccess将一个目录加上密码保护分两个步骤。第一步是在你的.htaccess文档里加上适当的几行代码,再将.htaccess文档放进你要保护的目录下:

AuthName “Section Name”
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user

There are a few parts of this which you will need to change for your site. You should replace “Section Name” with the name of the part of the site you are protecting e.g. “Members Area”.
有几个小部分你可能需要根据你的网站情况而修改一下。用被保护部分的名字替换掉”Section Name”,例如”Members Area”。

The /full/parth/to/.htpasswd should be changed to reflect the full server path to the .htpasswd file (more on this later). If you do not know what the full path to your webspace is, contact your system administrator for details.
另外/full/parth/to/.htpasswd 应该替换为指向.htpasswd文档(后面详述该文档)的完整服务器路径。如果你不知道你网站空间的完整路径,询问一下你的系统管理员。

The .htpasswd File

Password protecting a directory takes a little more work than any of the other .htaccess functions because you must also create a file to contain the usernames and passwords which are allowed to access the site. These should be placed in a file which (by default) should be called .htpasswd. Like the .htaccess file, this is a file with no name and an 8 letter extension. This can be placed anywhere within you website (as the passwords are encrypted) but it is advisable to store it outside the web root so that it is impossible to access it from the web.
目录的密码保护比.htaccess的其他功能要麻烦些,因为你必须同时创建一个包含用户名和密码的文档,用于访问你的网站,相关信息(默认)应位于一个 名为.htpasswd的文档里,像.htaccess一样,.htpasswd也是一个没有文件名且具有8位扩展名的文档,可以放置在你网站里的任何地 方(此时密码应加密),但建议你将其保存在网站根目录外,这样通过网络就无法访问到它了。

Entering Usernames And Passwords 输入用户名和密码

Once you have created your .htpasswd file (you can do this in a standard text editor) you must enter the usernames and passwords to access the site. They should be entered as follows:
创建好.htpasswd文档后(可以通过文字编辑器创建),下一步是输入用于访问网站的用户名和密码,应为:

username:password

where the password is the encrypted format of the password. To encrypt the password you will either need to use one of the premade scripts available on the web or write your own. There is a good username/password service at the KxS site which will allow you to enter the user name and password and will output it in the correct format.
“password”的位置应该是加密过的密码。你可以通过几种方法来得到加密过的密码:一是使用一个网上提供的permade脚本或自己写一个;另一个 很不错的username/password加密服务是通过KxS网站,这里允许你输入用户名及密码,然后生成正确格式的密码。

For multiple users, just add extra lines to your .htpasswd file in the same format as the first. There are even scripts available for free which will manage the .htpasswd file and will allow automatic adding/removing of users etc.
对于多用户,你只需要在.htpasswd文档中新增同样格式的一行即可。另外还有一些免费的脚本程序可以方便地管理.htpasswd文档,可以自动新增/移除用户等。

Accessing The Site 访问网站

When you try to access a site which has been protected by .htaccess your browser will pop up a standard username/password dialog box. If you don’t like this, there are certain scripts available which allow you to embed a username/password box in a website to do the authentication. You can also send the username and password (unencrypted) in the URL as follows:
当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的username/password对话窗口。如果你不喜欢这种方式,有些脚 本程序可以允许你在页面内嵌入username/password输入框来进行认证,你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密 的):

http://username:password@www.website.com/directory/

Summary 小结

.htaccess is one of the most useful files a webmaster can use. There are a wide variety of different uses for it which can save time and increase security on your website.
.htaccess是一个站点管理员可以应用的一个强大的工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性。
相关阅读:
• KxS Password Encrypter
• Apache .htaccess Documentation
• More .htaccess Sites
• Related Reading

Page 6 of 9« First...45678...Last »

    订阅

    搜索

    赞助商