53 123
发新话题
打印

[原创]最简单的让Mambo全站实现.html的方法

[原创]最简单的让Mambo全站实现.html的方法

打开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
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

忘了说了,还要修改一处,否则Mambo的pathway就无法正常显示了。
因为我们加了个.html,所以在Mambo开始转换URL的时候,就要把这个.html取掉。
搜索
复制内容到剪贴板
代码:
if ($mosConfig_sef) {
在下面加上一行
复制内容到剪贴板
代码:
$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

我在windows下也试了试SEF,没发现什么问题
环境是这样的:
Mambo+oscommerce+zoom+simpleboard+docman+akocomment
WinXP SP2,Apache 2.xx,PHP 4.3.10,Mysql
下面有张图
附件: 您所在的用户组无法下载或查看附件
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

好贴,我试了一下,搞定,谢谢!

TOP

我照hoping的方法做了,我的不能显示.html扩展名呀?
引用:
http://localhost/hotoe/index.php/content/view/17/2/
----------------------------
我的配置
Mambo
Win2000 SP4
Apache 2.xx
PHP 4.4.0
Mysql
----------------------[/quote]

TOP

收录置頂贴...
没有做不到的模板.

TOP

只是url后面多了.html,不是生成的静态页面啊?
mambo整合discuz同步注册登录,全站utf-8编码,php5+mysql5
http://www.bytea.net

TOP

这当然不是生成静态网页了
这个只不过使用了Mambo的SEF功能。
大家可以看看下面两个地址:
主机支持mod_rewrite功能的演示地址:
http://lqjy.com.ru
主机不支持mod_rewrite功能的演示地址:
http://dian.9819.com

使用SEF可以提高搜索引擎的收藏量,不过现在的搜索引擎已经对带有?的网址不是那么的排斥了

而真正生成.html静态网页则有助于提高网站的访问、浏览速度
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

引用:
原帖由 xiaomo 发表
我照hoping的方法做了,我的不能显示.html扩展名呀?
引用:
http://localhost/hotoe/index.php/content/view/17/2/
----------------------------
我的配置
Mambo
Win2000 SP4
Apache 2.xx
PHP 4.4.0
Mysql
----------------------
[/quote]

麻烦仔细看看上面的贴子,有一处要改sef.php的
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

引用:
打开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
引用:
代码:
if ($mosConfig_sef) {  

在下面加上一行
代码:
$_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);  
我是按照楼主这两个帖来做的,sef.php我设置过了!但是没达到你说的那种效果!

TOP

引用:
原帖由 xiaomo 发表
我是按照楼主这两个帖来做的,sef.php我设置过了!但是没达到你说的那种效果!
把你改过的地方贴出来我看看,多带几行原文件
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

引用:
原帖由 hoping 发表
把你改过的地方贴出来我看看,多带几行原文件
-------------------------------------------------
if ($mosConfig_sef) {
  $_SERVER['REQUEST_URI']=str_replace(".html","",$_SERVER['REQUEST_URI']);
  $url_array = explode("/", $_SERVER['REQUEST_URI']);
  /**
   * Content

============================================================
else if (eregi("option=com_",$string) && !eregi("option=com_registration",$string) && !eregi("task=new",$string) && !eregi("task=edit",$string)) {
                        /*
                        Components
                        index.php?option=com_xxxx&...
                        */

                        $sefstring = "component/";
                        $temp = split("\?", $string);
                        $temp = split("&", $temp[1]);
                        foreach($temp as $key => $value) {
                                $sefstring .= $value."/";
                        }
                        $string = str_replace( '=', ',', $sefstring );
                }
                //echo $mosConfig_live_site."/".$string;
                return $mosConfig_live_site."/index.php/".$string;
            $string=substr($string,0,-1);
        $string.=".html";

        } else {
                return $string;
        }

}
?>-------------------------------------------

加粗加红的的地方是按照楼主的方法改的,
并在后台的全局设置里----搜索引擎友好链接:选择“是”先项!

TOP

晕啊
你加到return后面起什么作用啊?
你仔细的看看我上面的贴子里是怎么写的
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

引用:
原帖由 hoping 发表
晕啊
你加到return后面起什么作用啊?
你仔细的看看我上面的贴子里是怎么写的
狂晕!!!!!!!!
原来是加在上面呀。。我习惯了找到一行代码就按回车加在下面,晕死。。。。终于搞定了!!!

不好意思,这个小问题也浪费hoping这么多时间。。
很感谢你!
建议站长奖波币给hoping!!!

TOP

其实我已经想到你有可能是加到return下面了,就是不能确定,所以让你贴出原文件中的内容。
以后记住 一点哦,return就是程序执行到这儿就停了,并且返回一个信息。哈哈
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

引用:
原帖由 hoping 发表
其实我已经想到你有可能是加到return下面了,就是不能确定,所以让你贴出原文件中的内容。
以后记住 一点哦,return就是程序执行到这儿就停了,并且返回一个信息。哈哈
虽然我不懂php语言,我用过actionscript语言也知道return执行到这儿就停了,并且返回一个信息!!!!因为不懂php,所以没有用心看过那代码,呵呵。。多谢指点,看来我的php得学一学了!

TOP

SEF,只不过是修改了一下PHP的传递参数,从而使得网址链接看起来是变成了静态的。
至于说要让搜索引擎更好、更多的收录你的网站,SEF可以起一点作用,但是,更重要的还要在于你的网站的内容、网站的定位以及其它许多因素,希望大家不要对此抱有太多的期望了。
我之所以做这个修改,一方面是因为接触的用户有些是windows型主机,并不支持原来的SEF,所以做了一点修改。另一方面是为了与自己的HTML外挂配合。
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

hoping网站的网址是什么了?我一下子找不到了!

TOP

我签名底下不是有么?
http://www.mambofan.info
启用新域名:Mambo智能建站
为了生活,开始都市流窜~~~~~~~~

TOP

我看不到你签名底下有呀??

不过没关系了。呵`

TOP

 53 123
发新话题