这两天突然想捣鼓一下怎么弄一个子目录 whzecomjm.com/doc/ 使得能够让大家下载我的部分文章的pdf格式。我记得之前经常看到很多网站是以Index of/
作为开头,列出所有文件的列表,因此我也想做一个这样的工作,我想这应该是个比较简单的工夫,但是最后还是花了我不少时间。
因为我比较不会用html也不了解apache,所以不知从何下手。然后我就去网上搜了大半天,发现都是怎么去除这个Index的。后来实在忍住头皮看下去,还是自己改出了.htaccess的第一句代码,这段代码需要放在想显示列表的文件夹内,Options +Indexes
注意这里的 +不能去掉,这是因为在主域名中的.htaccess文件在安装wordpress后被修改为"-Indexes",因此不能用默认的不加加号的形式。
然后上传好文件以后,我发现了了第二个问题,那就是中文乱码,很幸运的我竟然在网上找到了解决方法——加入下列代码:IndexOptions Charset=UTF-8
这样就解决了这个问题。
考虑到我的空间每月限流量以及我也不希望所有人都能下载我的文档,所以我想弄个密码系统(想要观摩下载的请给我微博私信,我讲给你注册账号)。然后我发现网上的方法是用.htaccess连接.htpasswd来做到这一点。我们可以通过这个网站 来生成两个文件的代码。 然后把.htaccess放在需要保护的文件夹下修改里面关于.htpassword的绝对位置的代码就可以了。但是直接借用下来一直都出错,访问不了。最终的原因是没有找到绝对路径,经过查看日志,我发现我的觉对路径应该是
/home/"usrname"/domains/"domainname"/public_html/.htpasswd
我们还可以加入 IndexOptions +FancyIndexing
来增强美观,注意不能直接与 Charset=UTF-8 并列。 为了能让文件名过长时,能够全部显示,在开启FancyIndexing以后,还需要加入代码:NameWidth=*
。以下是我的最终.htaccess代码:
Options +Indexes
IndexOptions Charset=UTF-8
IndexOptions +FancyIndexing
IndexOptions NameWidth=*
AuthName "Please enter your ID and password."
AuthType Basic
AuthUserFile /home/whzecomjm/domains/whzecomjm.com/public_html/.htpasswd
require valid-user
最后推荐两个相关的软件,h5ai 和 AutoIndex PHP Script。
whzecomjm
2014-05-24-03:04:57