0

我们的一位客户在报纸上购买了广告并添加到他的网址: http : //www.website.com/publicité而不是“publicite”(没有口音)...

我正在尝试在Solaris下创建相应的目录,但它似乎不起作用。我抓住了“获取”请求,看起来“真实”请求是 /publicit%C3%A9 我们试图添加一个具有该名称的目录,但它也不起作用。

知道网络如何解决这个问题吗?

我们使用 Apache 和 Tomcat 作为带有 JAVA(和 jsp)的 Web 容器

看起来它是 Solaris 服务器而不是 linux ..

4

3 回答 3

1

也许您可以使用 Apache 的 mod_rewrite 将其更改为publicite(无口音)?

于 2009-07-29T18:34:59.180 回答
0

看起来请求已被URL 编码。棘手的是,它不是标准的 ASCII,所以我认为它不能被可靠地解码为正确的“é”(因为你不知道它最初是 Unicode 而不是 ASCII)。

显然,也没有编码“é”的标准,因此对于来自两个不同客户端的相同请求,您收到的 URL 可能不同。

祝你好运。

于 2009-07-29T18:42:42.017 回答
0

我正在尝试在linux下制作相应的目录,它似乎不起作用。

你到底尝试了什么,它是如何失败的?

你可以试试这个(在 bash 中):

cd /var/www/html   ## -- Change as needed.
dname=$(echo -en "publicit\0303\0251")
mkdir publicite
ln -s publicite "$dname"

这是 Paul 使用 rewrite 的简单版本。

顺便说一句,我刚刚通过粘贴此页面中的文本和上面的命令创建了一个目录“publicité”,没有问题。Apache 在浏览器(Linux 和 WXP 上的 Firefox)中列出了空目录,尽管我的英文配置的 Apache 将列表中的名称弄乱了:

Index of /xtra/publicité
[ICO]   Name    Last modified   Size    Description
[DIR]   Parent Directory        -
Apache/2.2.3 (CentOS) Server at localhost Port 80

我从 Apache 访问日志中看到的和你一样:“GET /xtra/publicit%c3%a9/HTTP/1.1”

于 2009-07-29T18:56:44.807 回答