www.yzc577.comLINUX效力器是怎样处理URL的大小写题目??

( www.yzc577.com )

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、加载此模块

  • vi /etc/httpd/conf/httpd.conf

在模块加载地区,添加如下一行:
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中呈现大写曾经不友好了。

(看完/读完)这篇文章有何感想! www.yzc577.com的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注