QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2004|回复: 20

Apache的客户端请求错误回执的汉化问题

[复制链接]
发表于 2006-1-9 15:29:16 | 显示全部楼层 |阅读模式
请问Apache的客户端请求错误的回执如何汉化?
我发觉改动error文件夹里的文件甚至删除整个error文件夹都对于Apache没有影响!

PS:我不是要换掉回执的页面和回执的方式,只是想汉化默认的回执页面.仅此而已!
谢谢!
发表于 2006-1-9 17:52:29 | 显示全部楼层
参见指令: ErrorDocument
回复

使用道具 举报

 楼主| 发表于 2006-1-10 03:49:45 | 显示全部楼层
您可能还是没明白我的意思!
我不是说对APACHE做调整

我是说汉化默认的403 404 这样的页面而已!
只是汉化 不做关于APACHE本身的调整
回复

使用道具 举报

发表于 2006-1-11 12:06:47 | 显示全部楼层
[quote:4987856b10="finikes"]您可能还是没明白我的意思!
我不是说对APACHE做调整

我是说汉化默认的403 404 这样的页面而已!
只是汉化 不做关于APACHE本身的调整[/quote]不知是我不明白你的意思还是你说不清楚自己的意思

“不作关于APACHE本身”的调整,啥叫“APACHE本身”? 你要汉化谁?

你的意思无非是“不调整 Apache 配置文件”罢了,那就汉化 Apache 源代码吧。
回复

使用道具 举报

 楼主| 发表于 2006-1-11 14:46:56 | 显示全部楼层
就是不知道汉化哪部分的源代码

我不是要改变回执方式
只是想汉化默认回执的页面
比如回执是:

Not Found!

The requested URL /1234 was not found on this server.

是英文的!
我怎么让它输出的是中文(当然,意思不变)
我看有些Apache服务器就可以返回本地语言的回执.
比如上面的就变成:

找不到!

对不起!没有找到 /1234 这个目录或链接.


看了Apache手册的"国际自定义服务器错误消息"
翻译得太八股了!根本看不明白.
回复

使用道具 举报

发表于 2006-1-11 15:14:29 | 显示全部楼层
ErrorDocument
定义一个错误页面,你想用什么文字都可以。
回复

使用道具 举报

 楼主| 发表于 2006-1-11 15:25:06 | 显示全部楼层
晕 还是不明白偶的意思啊?

我不是想定义回执
只是想汉化默认的页面

默认的回执不是用英文书写吗?
我想把它们变中文

比如你可以对ErrorDocument操作,轻松将404的回执变为:
对不起!没有找到这个目录或链接.

但是我却不知道如何将回执变为:
对不起!没有找到 /1234 这个目录或链接.
回复

使用道具 举报

发表于 2006-1-11 18:26:45 | 显示全部楼层
俺的 IE 直接显示:
您要查看的网页可能已被删除、名称已被更改,或者暂时不可用。
回复

使用道具 举报

发表于 2006-1-11 19:01:27 | 显示全部楼层
[quote:b587138f34="finikes"]晕 还是不明白偶的意思啊?

我不是想定义回执
只是想汉化默认的页面

默认的回执不是用英文书写吗?
我想把它们变中文

比如你可以对ErrorDocument操作,轻松将404的回执变为:
对不起!没有找到这个目录或链接.

但是我却不知道如何将回执变为:
对不起!没有找到 /1234 这个目录或链接.[/quote]
[quote:b587138f34="finikes"]请问Apache的客户端请求错误的回执如何汉化?
我发觉改动error文件夹里的文件甚至删除整个error文件夹都对于Apache没有影响!

PS:我不是要换掉回执的页面和回执的方式,只是想汉化默认的回执页面.仅此而已!
谢谢![/quote]
真是佩服楼主的概括和表达能力
早写清楚不就得了?

搞什么“回执”、“回执页面”,又不是汇款。

还是好好看看 Apache 的文档,还是使用 ErrorDocument 指令,只不过是把 ErrorDocument 转向一个 CGI 脚本就是了。
例如对于错误代码 404:
Apache 启用 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
配置 ErrorDocument 404 /cgi-bin/404.sh

在 /var/www/cgi-bin 目录下建一个文件 404.sh,所有者是 root, 权限是 0755,内容如下:[code:1]#!/bin/sh
echo -e "Content-type: text/plain\n\n";
echo "找不到!"
echo "对不起!没有找到 ${REDIRECT_URL} 这个目录或链接。"
[/code:1]

这是个用shell脚本的例子,脚本中可以引用的其他环境变量请参阅 Apache 文档。
回复

使用道具 举报

 楼主| 发表于 2006-1-11 23:40:46 | 显示全部楼层
还是老大好!
拜谢,拜谢!

不过我的/cgi-bin/文件夹下没有404.sh或者类似的文件
回复

使用道具 举报

发表于 2006-1-11 23:52:37 | 显示全部楼层
建一个。
回复

使用道具 举报

 楼主| 发表于 2006-1-12 01:35:53 | 显示全部楼层
请问这个脚本如何插入HTML信息?
或者PHP如何调用APACHE的环境变量?
回复

使用道具 举报

 楼主| 发表于 2006-1-12 03:05:52 | 显示全部楼层
看了半夜文档 接合斑猪的提点
终于搞定!

谢了!
回复

使用道具 举报

 楼主| 发表于 2006-1-13 07:05:38 | 显示全部楼层
又有个问题!

http.conf里面设置了ErrorDocument 403 /cgi-bin/403.sh

当试图连接一个权限是644的目录时正确调用了403.sh
没有问题

但是当调用这个目录下面的某个子目录或者文件时,不管子目录或者文件存不存在,也不管子目录或者文件权限如何,输出不再调用403.sh
而是输出:
Forbidden

You don't have permission to access /localhost/images/ on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

请教版主!
回复

使用道具 举报

 楼主| 发表于 2006-1-18 20:42:42 | 显示全部楼层
论坛终于恢复了,大家帮个忙!
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:42 , Processed in 0.040460 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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