iT邦幫忙

0

Ubuntu 18.04上apache 支援可讀中文URL

在網址上 輸入 xxx.xxx.tw/測試.jpg

出現 Not Found 頁面

但若輸入 xxx.xxx.tw/test.jpg 這樣的英文URL是可以正確顯示圖片的

請問我的系統是Ubuntu18.04 上的apache2 ,我該如何設定才能改善這個問題呢?

謝謝您

咖咖拉 iT邦研究生 5 級 ‧ 2019-11-28 11:11:21 檢舉
打中文也可以
例: (測試.jpg)
在網址上 輸入 xxx.xxx.tw/%E6%B8%AC%E8%A9%A6.jpg
這樣就能讀到了

不過容易出問題
不要使用BIG5/GB2312這類內碼做系統預設碼,就可以使用中文做檔名或域名了
1
小魚
iT邦大師 1 級 ‧ 2019-11-28 08:29:12

網址要用英文應該是基本觀念吧,
網址上的中文基本上也是會透過URL encode轉換吧

0
阿展展展
iT邦好手 1 級 ‧ 2019-11-28 09:14:20

網絡上通用的apache 2.2的mod_encoding的rpm安裝文件,貌似在apache 2.4上是無法直接使用的。
因此遇上這個問題,確實對我造成了困擾,畢竟中文url(其實就是指針對非英文url的支持)對於一些客戶來說是必須的。
所以只要自己編譯一下這個由日本朋友在2002年開發的apache module。
你可以選擇下載我提供的源或是自己到日本朋友那邊去下載源碼

apache 2.4 編譯mod_encoding支持中文url

1
浩瀚星空
iT邦超人 1 級 ‧ 2019-11-28 09:45:13

認真來說。這並不完全是能靠web server的設定解決的。
因為中文編碼的特性不同。導致你無法正常獲得正確的檔案名稱。

一般來說,如果有辦法做到以下情況,就可以直接解決

1.如果是網頁上傳檔案式的。應各地方地區可能會有編碼不同的問題。最好是上傳後不要直接用其中文名稱。重新命名新的英數檔名後。再將其原檔案寫對應。

2.如果是ftp上傳中文檔名。首先要先確保一件事。ftp的上傳編碼名稱確定是utf8的格式

3.最後就是你想要的web server設定方式。但一般我並不建議這樣幹。因為那只是將你的預設檔名採用固定的編碼來讀取。但不同地區使用不同編碼的問題還是會存在。
在httpd.conf找

IndexOptions Charset=UTF-8

改成依utf8為主。
當然,你如果為了方便也可以依big5為主。
只是如果你用big5的話。你會面臨更可怕的事就是了。

我要發表回答

立即登入回答