84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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-enabledspeling.conf的内容非常简单,我写的只有如下一行:CheckSpelling on3、将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.soCheckSpelling 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中出现大写已经不友好了。