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 (.*)$ $1 [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中出现大写已经不友好了。