问一个APACHE的问题.

发表于:2007-06-09来源:作者:点击数: 标签:
在对虚拟目录使用Indexes参数时,当不存在index.html时,会自动生成目录列表,我想请问的是,在目录中我有一些文件的名名称比较长,而默认能够显示有文件名的宽度有限(只有22-23个字符),超过部分就被截掉了,但我看到有一些网站的使用APACHE自动生成的目录列表的名

在对虚拟目录使用Indexes参数时,当不存在index.html时, 会自动生成目录列表,我想请问的是, 在目录中我有一些文件的名名称比较长, 而默认能够显示有文件名的宽度有限(只有22-23个字符),超过部分就被截掉了, 但我看到有一些网站的使用APACHE自动生成的目录列表的名称字段宽度比较大(见过32个字符的), 请问这个参数能改么? 怎样改?

谢谢.

 aquino 回复于:2002-12-11 09:51:48
no one knows the answer. 

 redfox 回复于:2002-12-11 09:57:07
不知道

 miling 回复于:2002-12-11 10:47:26
编译之前,修改文件src/modules/standard/mod_autoindex.c中的参数:
#define DEFAULT_NAME_WIDTH 23

将23改成你想要的数,最大不超过256。
下面是其原代码,判断当文件名超过初始23长度之后,将后第20-23个字符以后替换成..>

    if (nwidth > name_width) {
memcpy(name_scratch, t2, name_width - 3);
name_scratch[name_width - 3] = '.';
name_scratch[name_width - 2] = '.';
name_scratch[name_width - 1] = '>';
name_scratch[name_width] = 0;
t2 = name_scratch;
nwidth = name_width;
    }



 南非蜘蛛 回复于:2002-12-11 10:53:24
这个是index这个模块的问题,好像改不了,你试试把IE属性的UTF8的选项去掉
我查了一下,没有参数,详情看这里http://httpd.apache.org/docs/mod/mod_autoindex.html#indexoptions

 miling 回复于:2002-12-11 11:32:48
口黑口黑,我刚刚改了这参数,实验了32位文件名,运行正常.

但不知道蜘蛛修改UTF8是甚么依据?要是我用Netscape又改哪儿?

 南非蜘蛛 回复于:2002-12-11 12:13:18
[quote][b]下面引用由[u]miling[/u]在 [i]2002/12/11 11:32am[/i] 发表的内容:[/b]
口黑口黑,我刚刚改了这参数,实验了32位文件名,运行正常.
但不知道蜘蛛修改UTF8是甚么依据?要是我用Netscape又改哪儿?
[/quote]
啥也不说了,你是我得偶像,佩服佩服

 miling 回复于:2002-12-11 14:24:00
惭愧,惭愧。还得多多向蜘蛛虾学习学习。

说出来汗颜,我从未在UNIX下用过C,不会!

今天这问题,主要是以前自己也遇到过,于是就在apache源代码目录下用find 查找含Index of 或Parent Directory等内容的文件,最后锁定在mod_autoindex.c上。
因学过一点标准C(在MS Windows环境用过BC),加上人家apache程序比较规范,就看出来了。并确认只有mod_autoindex.c才含DEFAULT_NAME_WIDTH。

//就这几钱的分量,见笑了!呵呵。。。。

 quakelee 回复于:2002-12-11 15:17:59
强人,赶快收藏~

 aquino 回复于:2002-12-11 16:39:33
果然是高手, 一试就成功乐. 

怎一个谢字了得~ 简直就是崇拜

 sungang 回复于:2002-12-16 17:23:45

<IfModule mod_autoindex.c>
</IfModule>
段里,有
IndexOptions FancyIndexing +NameWidth=* +SuppressLastModified +SuppressSize

就可以显示文件名的所有信息,而不会被截断了。


 南非蜘蛛 回复于:2002-12-17 13:45:13
那天其实我想说的是,但是发现可能不是这个原因
部分资料无法下载是由于中文文件名的原因,请点击右键“目标另存...”下载或关掉浏览器设置中"始终以UTF8发送"的选项。

原文转自:http://www.ltesting.net