discuz插件伪静态如何设置,根据独游魔盒设置经验进行讲解
2017-03-28 15:31
288 查看
刚开始的时候也是没打算做伪静态的,因为我不是程序员出身,虽然懂一点代码,但是对于伪静态的实现还是不大了解。但是一个栏目做了一年之后,百度还是没有收录(在创建栏目之初就已经被谷歌收录,这里可以看出来百度的算法还是不太完善),于是决定进行伪静态改造。
这里问题就来了,怎么改,完全一头雾水啊,没办法各种找教程,但是通过修改apache配置文件之后,页面显示的还是动态链接,并不是修改之后的静态化地址。反复尝试之后还是这样,于是我就放弃了一段时间,重新找视频教程,研究php伪静态是如何实现的,最终终于被我实现成功了!
伪静态前的代码:域名:/onemary_video-list.html?catid=5&page=4
伪静态后的代码:http://www.xmohe.com/videolist_5_2_4.html
这里说一下具体实现的思路,想直接看实现代码的可以跳过这一段。
其实通过我后来的学习发现,我之前做的直接在apache服务器端用.htaccess配置伪静态的规则其实并没有错,只是只配置这个文件,并没有完成所有工作,除了在服务器端进行伪静态规则的配置之外,网站url的输出也是要进行配置的,这里说一下伪静态的实现原理吧1
以http://www.xmohe.com/videolist_5_2_4.html这个网址为例,当你访问这个地址的时候,其实就是你的浏览器,向这个网站的服务器发送一个请求,请求这个页面,当apache接收到这个请求的时候,先将他分配到指定的目录,比如我网站的目录在www/bbs ,那么他就会先调取bbs目录下的.htaccess文件,访问里面的配置文件,比如下面这个
# RewriteEngine 模式打开
RewriteEngineOn
# 目录地址
RewriteBase /
#用于万美视频
RewriteCond%{QUERY_STRING} ^(.*)$
RewriteRule ^videolist_([0-9]+)_([0-9]+)\.html$ plugin.php?id=onemary_video:catid=$1&page=$2%1
当我们发送http://www.xmohe.com/videolist_5_2_4.html这个请求的时候,服务器就自动一条一条匹配你的伪静态规则,当匹配到上面代码中这一条的时候(其实还有很多别的规则,这里只列出举例说明的这一部分),匹配成功,就会将请求发送给后面的这个地址plugin.php?id=onemary_video:catid=$1&page=$2%1,最终还原成plugin.php?id=onemary_video:catid=5&page=4,然后将这个地址生成的内容返回给你的浏览器,这样你就看到页面啦!
上面这个步骤就实现了伪静态的响应,但是这个时候你会发现一个问题,就是访问伪静态网址可以正常响应了,但是直接在网站显示的网址,还是动态网址。这一部分就需要对网站的程序或者模板进行修改了。因为我是修改discuz的插件伪静态,所以这里只需要更改discuz插件模板里的网址规则就行啦(ps.discuz具有完善的模板规则,所有的插件安装目录都有一个templets文件夹,直接在这里就能修改啦),我将模板里动态地址的部分,全部修改成了静态地址的形式,更新缓存后,就生效了。
如果你对php和变量完全不了解的话,强烈建议不要自己胡乱尝试修改,因为很有可能导致模板失效。
如果你和我一样是个喜欢探索的人的话,那我建议你在修改模板之前,先将模板做一个备份,然后复制一份新的进行修改,这样如果你修改错了,也可以通过用原始模板覆盖的方法来恢复模板功能,然后再慢慢找原因。
希望你和我一样,在这条道路上能一直走下去,不忘初心。
这里问题就来了,怎么改,完全一头雾水啊,没办法各种找教程,但是通过修改apache配置文件之后,页面显示的还是动态链接,并不是修改之后的静态化地址。反复尝试之后还是这样,于是我就放弃了一段时间,重新找视频教程,研究php伪静态是如何实现的,最终终于被我实现成功了!
伪静态前的代码:域名:/onemary_video-list.html?catid=5&page=4
伪静态后的代码:http://www.xmohe.com/videolist_5_2_4.html
这里说一下具体实现的思路,想直接看实现代码的可以跳过这一段。
其实通过我后来的学习发现,我之前做的直接在apache服务器端用.htaccess配置伪静态的规则其实并没有错,只是只配置这个文件,并没有完成所有工作,除了在服务器端进行伪静态规则的配置之外,网站url的输出也是要进行配置的,这里说一下伪静态的实现原理吧1
以http://www.xmohe.com/videolist_5_2_4.html这个网址为例,当你访问这个地址的时候,其实就是你的浏览器,向这个网站的服务器发送一个请求,请求这个页面,当apache接收到这个请求的时候,先将他分配到指定的目录,比如我网站的目录在www/bbs ,那么他就会先调取bbs目录下的.htaccess文件,访问里面的配置文件,比如下面这个
# RewriteEngine 模式打开
RewriteEngineOn
# 目录地址
RewriteBase /
#用于万美视频
RewriteCond%{QUERY_STRING} ^(.*)$
RewriteRule ^videolist_([0-9]+)_([0-9]+)\.html$ plugin.php?id=onemary_video:catid=$1&page=$2%1
当我们发送http://www.xmohe.com/videolist_5_2_4.html这个请求的时候,服务器就自动一条一条匹配你的伪静态规则,当匹配到上面代码中这一条的时候(其实还有很多别的规则,这里只列出举例说明的这一部分),匹配成功,就会将请求发送给后面的这个地址plugin.php?id=onemary_video:catid=$1&page=$2%1,最终还原成plugin.php?id=onemary_video:catid=5&page=4,然后将这个地址生成的内容返回给你的浏览器,这样你就看到页面啦!
上面这个步骤就实现了伪静态的响应,但是这个时候你会发现一个问题,就是访问伪静态网址可以正常响应了,但是直接在网站显示的网址,还是动态网址。这一部分就需要对网站的程序或者模板进行修改了。因为我是修改discuz的插件伪静态,所以这里只需要更改discuz插件模板里的网址规则就行啦(ps.discuz具有完善的模板规则,所有的插件安装目录都有一个templets文件夹,直接在这里就能修改啦),我将模板里动态地址的部分,全部修改成了静态地址的形式,更新缓存后,就生效了。
如果你对php和变量完全不了解的话,强烈建议不要自己胡乱尝试修改,因为很有可能导致模板失效。
如果你和我一样是个喜欢探索的人的话,那我建议你在修改模板之前,先将模板做一个备份,然后复制一份新的进行修改,这样如果你修改错了,也可以通过用原始模板覆盖的方法来恢复模板功能,然后再慢慢找原因。
希望你和我一样,在这条道路上能一直走下去,不忘初心。
相关文章推荐
- win7电源管理在哪找到了又该如何根据需求进行设置
- discuz 插件开发经验之如何运用 C::t 方法
- 使用APMServ服务配置如何进行Wordpress本地伪静态设置
- 自定义扩展名的文件在eclipse中如何设置相应的插件进行查看
- video.js视频插件进行视频切换的设置方法及js中如何判断undefined的属性
- 在win2008 iis7下如何设置Discuz伪静态教程
- 常用邮箱如何在outlook express foxmail进行设置
- 求助求助——请教各位高手,抽出一点宝贵的时间根据这个实例讲解一下应该如何分层呢?
- [转]如何根据提交的网址内的视频格式进行正确的播放
- VB2005中如何如对目标程序进行“应用程序用户设置
- MOSS 2007应用日记(15)――如何对文档存取进行个性化设置
- CE MAPI实例讲解 --- 如何设置收件人信息(五)
- 实例讲解:aiCache如何通过header-driven设置缓存失效
- 什么是伪静态?如何设置伪静态?
- 如何根据一个规则表动态地在Form的初始化时设置控件的属性
- 从三个方面进行讲解如何适当优化"SQL"
- web开发,如何自动选定打印机进行打印(设置默认打印机打印)
- 蚂蚁是如何更新信息素的?如何根据概率进行选择的?(编程实现)
- 求助求助——请教各位高手,抽出一点宝贵的时间根据这个实例讲解一下应该如何分层呢?
- 如何在Eclipse中使用Ruby开发工具(RDT)插件进行Ruby开发