LINUX服务器是区分大小写的, 比如你换成LINUX服务器大写的URL是打不开的,而且对于搜索引擎也不友好
那如何解决这个问题呢,让用户输入大写时,也跳转到小写的URL页面。 尽量减少大写造成的影响。
求具体解决方案。
走同样的路,发现不同的人生
轉自:http://www.ithr.org.cn/blogs/blog1.ph...
大小寫敏感,有時候不方便,一定要寫準確才能訪問,對搜索引擎和用戶不是很友好。。 造成此現象主要原因是缺少speling模塊,因此隻要在相應的係統裏加載就可以了。 一、Debian係統 debian係統下相對比較簡單 1、從路徑/etc/apache2/mods-available下找到speling.load ,將其複製到路徑 /etc/apache2/mods-enabled 下 2、將文件speling.conf寫至目錄 /etc/apache2/mods-enabled speling.conf的內容非常簡單,我寫的隻有如下一行: CheckSpelling on 3、將speling.load和speling.conf都添加到/etc/apache2/mods-enabled下之後,再重啟一下apache就可以了 二、CentOS係統 centos係統下略煩一點點。 1、查看係統有無無模塊mod_speling.so,路徑:/etc/httpd/modules;如果有就直接pass,沒有自己從別處down一個過來用 2、加載此模塊
在模塊加載區域,添加如下一行: LoadModule speling_module modules/mod_speling.so CheckSpelling on 保存修改,退出 3、重啟httpd服務
如果你是用Apache的,可以用mod_rewrite裏的RewriteMap。添加這麼一條:
RewriteRule (.*)$ [NC]
apache還可以這樣用:思路是,把代碼寫進404頁麵(404.php),然後服務器會把請求的URL全部轉換成小寫,轉換後能找到就跳到新頁麵,仍舊找不到就返回首頁。
/** * @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”); ?>
注:1.本代碼作者:hyperjiang URL:http://hi.baidu.com/frag/blog/item/52...
PS,這個代碼我並沒有測試過。
不過,我真心建議你,新的url就用小寫,老的url可以用rewrite來跳轉。
如果是nginx服務器,用perl_set就可以了
『對搜索引擎不友好』? 您說的是百度那個大小寫不區分的土鱉搜索引擎嗎?
一律小寫。在URL中出現大寫已經不友好了。
轉自:http://www.ithr.org.cn/blogs/blog1.ph...
大小寫敏感,有時候不方便,一定要寫準確才能訪問,對搜索引擎和用戶不是很友好。。
造成此現象主要原因是缺少speling模塊,因此隻要在相應的係統裏加載就可以了。
一、Debian係統
debian係統下相對比較簡單
1、從路徑/etc/apache2/mods-available下找到speling.load ,將其複製到路徑 /etc/apache2/mods-enabled 下
2、將文件speling.conf寫至目錄 /etc/apache2/mods-enabled
speling.conf的內容非常簡單,我寫的隻有如下一行:
CheckSpelling on
3、將speling.load和speling.conf都添加到/etc/apache2/mods-enabled下之後,再重啟一下apache就可以了
二、CentOS係統
centos係統下略煩一點點。
1、查看係統有無無模塊mod_speling.so,路徑:/etc/httpd/modules;如果有就直接pass,沒有自己從別處down一個過來用
2、加載此模塊
在模塊加載區域,添加如下一行:
LoadModule speling_module modules/mod_speling.so
CheckSpelling on
保存修改,退出
3、重啟httpd服務
如果你是用Apache的,可以用mod_rewrite裏的RewriteMap。添加這麼一條:
apache還可以這樣用:思路是,把代碼寫進404頁麵(404.php),然後服務器會把請求的URL全部轉換成小寫,轉換後能找到就跳到新頁麵,仍舊找不到就返回首頁。
注:1.本代碼作者:hyperjiang URL:http://hi.baidu.com/frag/blog/item/52...
PS,這個代碼我並沒有測試過。
不過,我真心建議你,新的url就用小寫,老的url可以用rewrite來跳轉。
如果是nginx服務器,用perl_set就可以了
『對搜索引擎不友好』?
您說的是百度那個大小寫不區分的土鱉搜索引擎嗎?
一律小寫。在URL中出現大寫已經不友好了。