我有一個生成xml文件的應用程序,它們可能包含特殊字符。我的問題是,如果具有特殊字符的URL被編碼,Apache將不會給我這個xml文件。Apache爲特定字符的編碼網址提供404
例如: 文件ABCö.xml是http://host/path/ABCö.xml訪問,但如果與編碼的URL訪問http://host/path/ABC%F6.xml阿帕奇給了我一個404
是在httpd.conf這樣的設置或者我需要索姆重寫以使這兩個url可訪問xml文件?
我有一個生成xml文件的應用程序,它們可能包含特殊字符。我的問題是,如果具有特殊字符的URL被編碼,Apache將不會給我這個xml文件。Apache爲特定字符的編碼網址提供404
例如: 文件ABCö.xml是http://host/path/ABCö.xml訪問,但如果與編碼的URL訪問http://host/path/ABC%F6.xml阿帕奇給了我一個404
是在httpd.conf這樣的設置或者我需要索姆重寫以使這兩個url可訪問xml文件?
您可能有編碼問題。
大多數(所有?)現代瀏覽器在將用戶直接輸入到地址欄中的URL中的特殊字符編碼時使用UTF-8。
所以,當你進入ABCö.xml
說,在Firefox中,它會轉變ö
到它的UTF-8多字節表示,所以最終的結果將是
ABC%C3%B6.xml
,而不是單字節
ABC%F6.xml
只有其中一個會工作。檢查文件名中使用哪種編碼。
你說得對。似乎嘗試訪問我的XML文件的第三方應用程序在編碼url時使用latin1(ISO-8859-1) – jon 2012-03-05 10:06:19
您確定文件名中的特殊字符與您在URL中使用的是相同的編碼嗎? – 2012-03-05 09:44:36