hoping 2005-8-12 03:00
[原创]最简单的让Mambo全站实现.html的方法
打开mambo/includes/sef.php
搜索
[code]return $mosConfig_live_site."/".$string;[/code]
在这一行的上面添加如下代码:
[code]$string=substr($string,0,-1);
$string.=".html";[/code]
这样修改以后,你的Mambo就可以支持.html了。
缺点就是必须要主机支持mod_rewrite
想要在非linux或者不支持mod_rewrite的主机上实现这些功能,请看我很早以前发的一篇贴子,链接:http://bbs.mambochina.net/viewthread.php?tid=1568
hoping 2005-8-12 03:04
忘了说了,还要修改一处,否则Mambo的pathway就无法正常显示了。
因为我们加了个.html,所以在Mambo开始转换URL的时候,就要把这个.html取掉。
搜索
[code]if ($mosConfig_sef) {[/code]
在下面加上一行
[code]$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);[/code]
hoping 2005-8-12 03:24
我在windows下也试了试SEF,没发现什么问题
环境是这样的:
Mambo+oscommerce+zoom+simpleboard+docman+akocomment
WinXP SP2,Apache 2.xx,PHP 4.3.10,Mysql
下面有张图
wells 2005-8-12 08:04
好贴,我试了一下,搞定,谢谢!
xiaomo 2005-8-12 08:42
我照hoping的方法做了,我的不能显示.html扩展名呀?
[quote]http://localhost/hotoe/index.php/content/view/17/2/[/quote]
----------------------------
我的配置
Mambo
Win2000 SP4
Apache 2.xx
PHP 4.4.0
Mysql
----------------------[/quote]
genous 2005-8-12 09:13
收录置頂贴...
zijie 2005-8-12 13:10
只是url后面多了.html,不是生成的静态页面啊?
hoping 2005-8-12 14:28
这当然不是生成静态网页了
这个只不过使用了Mambo的SEF功能。
大家可以看看下面两个地址:
主机支持mod_rewrite功能的演示地址:
http://lqjy.com.ru
主机不支持mod_rewrite功能的演示地址:
http://dian.9819.com
使用SEF可以提高搜索引擎的收藏量,不过现在的搜索引擎已经对带有?的网址不是那么的排斥了
而真正生成.html静态网页则有助于提高网站的访问、浏览速度
hoping 2005-8-12 14:29
[quote]原帖由 [i]xiaomo[/i] 发表
我照hoping的方法做了,我的不能显示.html扩展名呀?
[quote]http://localhost/hotoe/index.php/content/view/17/2/[/quote]
----------------------------
我的配置
Mambo
Win2000 SP4
Apache 2.xx
PHP 4.4.0
Mysql
----------------------[/quote][/quote]
麻烦仔细看看上面的贴子,有一处要改sef.php的
xiaomo 2005-8-12 16:12
[quote]打开mambo/includes/sef.php
搜索
代码:
return $mosConfig_live_site."/".$string;
在这一行的上面添加如下代码:
代码:
$string=substr($string,0,-1);
$string.=".html";
这样修改以后,你的Mambo就可以支持.html了。
缺点就是必须要主机支持mod_rewrite
想要在非linux或者不支持mod_rewrite的主机上实现这些功能,请看我很早以前发的一篇贴子,链接:http://bbs.mambochina.net/viewthread.php?tid=1568[/quote]
[quote]代码:
if ($mosConfig_sef) {
在下面加上一行
代码:
$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']); [/quote]
我是按照楼主这两个帖来做的,sef.php我设置过了!但是没达到你说的那种效果!
hoping 2005-8-12 16:41
[quote]原帖由 [i]xiaomo[/i] 发表
我是按照楼主这两个帖来做的,sef.php我设置过了!但是没达到你说的那种效果![/quote]
把你改过的地方贴出来我看看,多带几行原文件
xiaomo 2005-8-12 17:00
[quote]原帖由 [i]hoping[/i] 发表
把你改过的地方贴出来我看看,多带几行原文件[/quote]
-------------------------------------------------
if ($mosConfig_sef) {
[b] [color=red]$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);[/color][/b]
$url_array = explode("/", $_SERVER['REQUEST_URI']);
[color=green0] /**
* Content[/color]
============================================================
else if (eregi("option=com_",$string) && !eregi("option=com_registration",$string) && !eregi("task=new",$string) && !eregi("task=edit",$string)) {
[color=green0] /*
Components
index.php?option=com_xxxx&...
*/[/color]
$sefstring = "component/";
$temp = split("\?", $string);
$temp = split("&", $temp[1]);
foreach($temp as $key => $value) {
$sefstring .= $value."/";
}
$string = str_replace( '=', ',', $sefstring );
}
[color=green]//echo $mosConfig_live_site."/".$string;[/color]
[b][color=red]return $mosConfig_live_site."/index.php/".$string;
$string=substr($string,0,-1);
$string.=".html";[/color][/b]
} else {
return $string;
}
}
?>-------------------------------------------
[b]加粗加红的的地方是按照楼主的方法改的,
并在后台的全局设置里----搜索引擎友好链接:选择“是”先项![/b]
hoping 2005-8-12 17:06
晕啊
你加到return后面起什么作用啊?
你仔细的看看我上面的贴子里是怎么写的
xiaomo 2005-8-12 17:15
[quote]原帖由 [i]hoping[/i] 发表
晕啊
你加到return后面起什么作用啊?
你仔细的看看我上面的贴子里是怎么写的[/quote]
狂晕!!!!!!!!
原来是加在上面呀。。我习惯了找到一行代码就按回车加在下面,晕死。。。。终于搞定了!!!
不好意思,这个小问题也浪费hoping这么多时间。。
很感谢你!
[color=red]建议站长奖波币给hoping!!![/color]
hoping 2005-8-12 17:17
其实我已经想到你有可能是加到return下面了,就是不能确定,所以让你贴出原文件中的内容。
以后记住 一点哦,return就是程序执行到这儿就停了,并且返回一个信息。哈哈
xiaomo 2005-8-12 17:21
[quote]原帖由 [i]hoping[/i] 发表
其实我已经想到你有可能是加到return下面了,就是不能确定,所以让你贴出原文件中的内容。
以后记住 一点哦,return就是程序执行到这儿就停了,并且返回一个信息。哈哈[/quote]
虽然我不懂php语言,我用过actionscript语言也知道return执行到这儿就停了,并且返回一个信息!!!!因为不懂php,所以没有用心看过那代码,呵呵。。多谢指点,看来我的php得学一学了!
hoping 2005-8-12 17:26
SEF,只不过是修改了一下PHP的传递参数,从而使得网址链接看起来是变成了静态的。
至于说要让搜索引擎更好、更多的收录你的网站,SEF可以起一点作用,但是,更重要的还要在于你的网站的内容、网站的定位以及其它许多因素,希望大家不要对此抱有太多的期望了。
我之所以做这个修改,一方面是因为接触的用户有些是windows型主机,并不支持原来的SEF,所以做了一点修改。另一方面是为了与自己的HTML外挂配合。
xiaomo 2005-8-12 17:38
hoping网站的网址是什么了?我一下子找不到了!
hoping 2005-8-12 17:44
我签名底下不是有么?
http://www.mambofan.info
xiaomo 2005-8-12 17:51
我看不到你签名底下有呀??
不过没关系了。呵`
icanmanit 2005-8-13 18:47
有什么用吗?不太明白。
hoping 2005-8-13 21:24
从网站上看,Apache从2.x开始已经自带支持mod_rewrite了。
leo1 2005-8-18 23:19
[quote]原帖由 [i]hoping[/i] 发表
我之所以做这个修改,一方面是因为接触的用户有些是windows型主机,并不支持原来的SEF,所以做了一点修改。另一方面是为了与自己的HTML外挂配合。[/quote]
真诚求教hoping大哥:
我有半年没来了,当初用的451a,那时还没有SEF,
所以想问你说的“原来的SEF”指的哪个版本?
另外看你这句话的意思好像是做的这些修改是为windows型主机用的,
难道linux主机就不需修改了?
(其实今年正月我还给你打过电话呢,估计你想不起来了,当时就是请教你转静态的问题,当时你的回答是还没搞出来呢)
最后一个问题:你说SEF只是对搜索引擎起一点作用,可我怎么感觉他跟动态网页有天壤之别啊?被搜索引擎收录的差别好像很大吧?
最最后,祝大哥全家安好!幸福!
hoping 2005-8-20 01:44
[quote]原帖由 [i]leo1[/i] 发表
[quote]原帖由 [i]hoping[/i] 发表
我之所以做这个修改,一方面是因为接触的用户有些是windows型主机,并不支持原来的SEF,所以做了一点修改。另一方面是为了与自己的HTML外挂配合。[/quote]
真诚求教hoping大哥:
我有半年没来了,当初用的451a,那时还没有SEF,
所以想问你说的“原来的SEF”指的哪个版本?
另外看你这句话的意思好像是做的这些修改是为windows型主机用的,
难道linux主机就不需修改了?
(其实今年正月我还给你打过电话呢,估计你想不起来了,当时就是请教你转静态的问题,当时你的回答是还没搞出来呢)
最后一个问题:你说SEF只是对搜索引擎起一点作用,可我怎么感觉他跟动态网页有天壤之别啊?被搜索引擎收录的差别好像很大吧?
最最后,祝大哥全家安好!幸福![/quote]
呵呵,有印像的。
这里所说的SEF,在451下已经就存在了的,不过当时很少有人对其感兴趣而忆。
这里提出来的只是一个简单的用来欺骗搜索引擎(兼欺骗观众眼球)的一种做法。
不过,要使用SEO(你可以在网上搜索一下与SEO相关的资料),在UNIX环境下是最好的了,我所提出的仅仅是一个变通的用法而已
leo1 2005-8-22 00:01
谢了,继续发问:
你写的这个组件(http://bbs.mambochina.net/viewthread.php?tid=4663&highlight=%BE%B2%CC%AC)是简单的加个后缀名还是基于SEO理论?
再问个比较白的问题,mambo里的SEF在哪儿,找半天没找到
lang3 2005-8-22 00:15
到精华区看看 SEF 的帖子。
hoping 2005-8-22 11:53
[quote]原帖由 [i]leo1[/i] 发表
谢了,继续发问:
你写的这个组件(http://bbs.mambochina.net/viewthread.php?tid=4663&highlight=%BE%B2%CC%AC)是简单的加个后缀名还是基于SEO理论?
再问个比较白的问题,mambo里的SEF在哪儿,找半天没找到[/quote]
我这个既不是简单的加个后缀名,也不是基于SEO理论。
只是生成了HTML页面。Mambo已经支持SEO了,我就没有必要在SEO上大做文章了 :D
最新版的介绍请参看:http://jycms.com.ru
leo1 2005-8-22 14:00
半年没去你网站发现都改版了www.mambofan.info
你这个组件看了看的确很不错
精华区我也仔细看了SEF的帖子,是不是可以理解成:
SEF功能是去掉了地址后缀“.php”?而没有加上.html?
我知道你不是简单的加了个后缀,是建了个文件夹“html”,把所有转化成静态的文件都放在这个文件夹里了,这样形成了真正的静态网站(不过地址里多了层/html/好像不好看,当然这要比只是在地址后面简单加个后缀那种假静态要彻底的多),如果后台不开“搜索引擎优化”而直接用你这个组件会如何?
我看mambochina主站上的文章地址都有后缀.html,但是没有你“/html/”这层文件夹,这是如何实现?仅是通过后台的SEF即可实现?
18260 2005-9-9 21:36
楼主在否?不知IIS可以么?
我是艾浪 2005-9-11 17:38
我是虚拟主机,看来这个办法对我没用
findb 2005-9-16 08:31
在主页用户登陆时,出现了www.域名.com/.htm,然后就打不开页面了,请问这个问题怎么解决呀,我的主页左上角导航的首页也有这个问题,就是www.域名.com/.htm,然后就打不开了,请问如何解决呀?
我是艾浪 2005-9-19 15:13
我试了,不行啊
wang427 2005-10-13 18:02
我试了是可以的,可主页还是没有修改啊?
94bt 2005-10-16 16:04
打开mambo/includes/sef.php
搜索
代码:
return $mosConfig_live_site."/".$string;
在这一行的 上面 添加如下代码:
代码:
$string=substr($string,0,-1);
$string.=".html";
搜索
代码:
if ($mosConfig_sef) {
在 下面 加上一行
代码:
$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);
要修改两个地方
ygtqing 2005-10-19 14:01
没提速的话,就没这个必要
zhoujiekai 2005-10-19 14:25
我按照这方法做怎么没用啊,我安装曼虎的。
zhoujiekai 2005-10-19 14:26
我按照这方法做怎么没用啊,我安装曼虎的。
liyifeng 2005-10-23 20:53
哈哈~不仔细
jianquan 2005-11-5 18:17
先学习 等待传送啊 我已经安装这个好些次拉
franky 2005-11-8 13:50
安装以后出现
http://127.0.0.1/mambo/content/view/1/2.html
然后提示 HTTP 404 - 未找到文件
请问是什么原因?
是没装mod-rewrite吗?