2 回答

TA貢獻(xiàn)1804條經(jīng)驗 獲得超7個贊
大小寫敏感,有時候不方便,一定要寫準(zhǔn)確才能訪問,對搜索引擎和用戶不是很友好。
造成此現(xiàn)象主要原因是缺少speling模塊,因此只要在相應(yīng)的系統(tǒng)里加載就可以了。
一、Debian系統(tǒng)
debian系統(tǒng)下相對比較簡單
1、從路徑/etc/apache2/mods-available下找到speling.load ,將其復(fù)制到路徑 /etc/apache2/mods-enabled 下
2、將文件speling.conf寫至目錄 /etc/apache2/mods-enabled
speling.conf的內(nèi)容非常簡單,我寫的只有如下一行:
CheckSpelling on
3、將speling.load和speling.conf都添加到/etc/apache2/mods-enabled下之后,再重啟一下apache就可以了
二、CentOS系統(tǒng)
centos系統(tǒng)下略煩一點點。
1、查看系統(tǒng)有無無模塊mod_speling.so,路徑:/etc/httpd/modules;如果有就直接pass,沒有自己從別處down一個過來用
2、加載此模塊
vi /etc/httpd/conf/httpd.conf
在模塊加載區(qū)域,添加如下一行:
LoadModule speling_module modules/mod_speling.so
CheckSpelling on
保存修改,退出
3、重啟httpd服務(wù)

TA貢獻(xiàn)1874條經(jīng)驗 獲得超12個贊
apache還可以這樣用:思路是,把代碼寫進(jìn)404頁面(404.php),然后服務(wù)器會把請求的URL全部轉(zhuǎn)換成小寫,轉(zhuǎn)換后能找到就跳到新頁面,仍舊找不到就返回首頁。
/** * @file nofound.php * @version 1.0 * @author hyperjiang * @date 2007-07-11 * @brief Try to redirect to correct url. */$url = @$_SERVER['REQUEST_URI'];if (empty($url)) {header(”Location: /”);exit; }$newurl = strtolower($url);if ($url == $newurl) header(”Location: /”);else header(”Location: $newurl”);?>
PS,這個代碼我并沒有測試過。
不過,我真心建議你,新的url就用小寫,老的url可以用rewrite來跳轉(zhuǎn)。
如果是nginx服務(wù)器,用perl_set就可以了
添加回答
舉報