ste*_*efs 8 php apache configuration internationalization
我有一个我以前从未遇到的问题,我认为它与apache配置有关,我不是很精通.
首先,有一个带有搜索表单的php脚本.表格通过POST传输.
然后是搜索命中的结果列表.这里原始搜索查询作为url的一部分传递,例如:search.php?id = 1234&query = foo.这也有效 - 只要没有变音符号(äöüÄÖÜß...)字符传输.
只要我在搜索查询中包含变音符号,将查询字符串作为POST传输的第一部分就可以工作,但是在URL中传递它(urlencoded)会导致403.
所以:
search.php?id=1234&query=bar 作品search.php?id=1234&query=b%E4r 导致403(%E4 ="ä"utf-8 urlencoded)search.php?id=1234&query=b%C3%A4r 导致403(%C3%A4 ="ä"utf-8 urlencoded)我将应用程序从iso-8859-1转换为utf-8,但这没有任何区别.
我也在我的本地机器上进行了测试,在这里它完美无缺 - 正如预期的那样.
远程服务器设置(它不起作用):
Apache/2.2.12(Ubuntu),
PHP版本5.2.10-2ubuntu6.7,Suhosin补丁0.9.7,通过CGI/FastCGI
本地设置(这里是相同的工作):
Apache/2.2.8(Win32)PHP/5.3.5
PHP版本5.3.5通过mod_php
有没有人知道为什么远程apache/php-cgi不接受url中正确的urlencoded变音符号?
额外的信息:我也试图创建一个有名字的变音静态文件,都/t%C3%A4st.php和/täst.php没有问题得到服务.täst.php?foo=täst失败.
注意:?foo=%28,%28是"(",也适用.
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |