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发送"的选项。 |