在 Unix Like 的作業系統, 檔案及目錄名稱的英文字母大小寫有分別, 而在 Windows 內則沒有分別, 所以有些網頁放在 Windows 主機上可以正常瀏覽, 而放到 Linux 上便會出現連結失效, 或者圖片, CSS, Javascript 不能載入等問題。
例如這樣一個超連結:
〈a href=’Filename.htm’〉links〈/a〉
在 Windows 下, 只要檔案符合連結內的字母, 不會區分大小寫, 所以如果檔案名稱是 “filename.htm” 可以正確瀏覽, 而在 Linux 下相同情況便會出現連結失效。
如果未能將網頁內容一一修正, 可以設定 Apache 忽略檔案字母大小寫, 可以開啟 Apache 的 mod_speling 模組, 即可解決問題。
在 Redhat 或 Debian 的系統都已經安裝好 mod_speling, 但預設沒有載入, 要載入可以用以下方法:
RHEL / CentOS / Fedora:
開啟檔案 /etc/httpd/conf/httpd.conf:
# vi /etc/httpd/conf/httpd.conf
加入以下一行:
LoadModule speling_module modules/mod_speling.so
重新啟動 Apache:
# systemctl restart httpd
或
# service httpd restart
Debian / Ubuntu:
執行以下指令啟用 mod_speling 及重新啟動 Apache:
# a2enmod speling
# service apache2 restart
# service apache2 restart
載入 mod_speling 到 Apache 後, 可以用 .htaccess 啟用 moe_speling, 在網站目錄 (即 DocumentRoot 的位置) 建立 .htaccess 檔案, 加入以下內容便完成了:
|
1 2 3 4 |
<IfModule mod_speling.c> CheckCaseOnly on CheckSpelling on </IfModule> |