在 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> |