php phpcms伪静态态怎么下

IIS下如何让帝国CMS和SHOPEX的伪静态规则并存?-开发-任务易推荐给您
<meta name="description" content="具体要求:#SHOPEX伪静态规则RewriteBase/RewriteCond%{REQUEST_FILENAME}.(html|htm|php|php2|php3|php4|php5|ph-开发-任务易推荐给您">自始至终,以提供稳定、高性能的美国、香港php虚拟主机产品为己任,以用户极高满意为生存价值,以产品的可靠性为生命线,以网络零中断为终身奋斗目标
关于Discuz!7.2论坛在php虚拟主机下的伪静态设置,互联网上的文章都到了泛滥的地方了,在官方网站上也有专门的帖子讨论。只要发个几分钟就可以知道答案了。无忧主机()迟迟没有编写关于discuz!7.2论坛的伪静态设置方法也是出于这个原因。然而,今天一个用户反复向我咨询如何设置论坛伪静态的问题,而且用户说无忧主机的空间不支持伪静态功能。今天为了说明这个问题,我特意将无忧主机关于dz7.2论坛做了伪静态设置,已做展示。
Discuz!7.2论坛伪静态演示地址:http://test./dz/forum-2-1.html
无忧主机是纯linux环境下的,我公司的空间产品开通默认支持伪静态功能,用户只需要在dz论坛安装目录上传正确的.htaccess文件后,在后台设置启用URL伪静态功能就可以了,很简单,当你掌握了后只需要5分钟就完成对dz论坛的url重写设置操作。
为方便用户设置伪静态,无忧主机特意从康盛的帮助教程中下载了.htaccess文件,有需要的朋友请点击下载:php虚拟主机的伪静态规则(.htaccess)文件。
下面的是操作步骤:
登录论坛后台,选择“全局”-&优化设置-&搜索引擎优化-&开启url静态化。如下图:
下载dz7.x伪静态规则(.htaccess)文件,将该文件上传到论坛安装目录就可以了。
说明:下载.htaccess文件后,请根据你的站点实际情况,如果你的论坛是安装在根目录,请将规则文件里面RewriteBase /dz 修改:RewriteBase /,如果你的论坛是安装在二目录下的,请将规则文件里面的RewriteBase /dzx修改为RewriteBase /二级别目录名称,如RewriteBase /bbs。否则将无法完成伪静态设置。
就这么简单的完成了dz论坛的URL静态话设置,经过此次设置后,搜索引擎也可以方便收录你第文章了。
无忧主机 提供美国/香港纯Linux环境下高端免备案,仅仅只需99元一年起。
本文地址:/discuz/1750.html
喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
无忧主机资质:(十年旗舰品牌)
相关技术帮助文档
技术帮助文档分类当前位置: >
Windows+IIS环境下如何配置Discuz伪静态规则
时间: && 来源:服务器之家 && 投稿:root
  初次在IIS下安装Discuz都未成功。找到Discuz帮助看了一下,在**ix系统下需要把几个目录的权限设置为777。而现在是WIN系统,试了一下把相关目录及config.inc.php设置为user用户组具有写权限,得以安装成功。
  后来的Discuz伪静态设置倒是很顺利。依照找到的资料,下载了一个ISAPI Rewrite for
IIS的版本,解压出了ISAPI_Rewrite.dll和httpd.ini两个文件。将ISAPI_Rewrite.dll放到一个目录中(假设我是放到了F:\rewrite中)。然后在IIS中右击站点→“属性”→“ISAPI筛选器”→“添加”,在弹出的对话框中指定
ISAPI_Rewrite.dll的位置并输入筛选器名称,如下图:
  设完之后重启一下IIS,检查一下站点属性页的“ISAPI筛选器”选项卡,如果是下图这个样子,说明ISAPI_Rewrite.dll加载成功:
  下面的工作是设置httpd.ini,这个文件需要放置到Discuz安装目录的根目录中。打开httpd.ini,把Discuz官方给出的rewrite规则添加进去:
  [ISAPI_Rewrite]
  # 3600 = 1 hour
  CacheClockRate 3600
  RepeatLimit 32
  # Protect httpd.ini and httpd.parse.errors files
  # from accessing through HTTP RewriteRule
/SearchCompany_(\d+)\.html /SearchCompany\.aspx\?npage=$1 [N,I]
  # 这里是解析帖子列表 安装根目录
  RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.html)$
$1/archiver/index\.php\?$2
  RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$
$1/forumdisplay\.php\?fid=$2&page=$3
  RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$
$1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3
  之后进论坛后台,开启相关的伪静态设置即可。php伪静态URL重写技术实现方法
伪静态用到知识很简单一旦学会,快乐无穷,只需要正则和服务器设置。先说iis如何设置吧,往下看下载(IIS Rewrite模块): /,先把产品下载下来,安装在服务器上,记住目录,会有类似Rewrite.dll的文件生成,MMC→IIS信息服务管理器→网站→您的站点→属性,在“ISAPI筛选器”项点击 “添加”, 筛选器名称填入Rewrite,可执行文件为Rewrite.dl这个文件.
然后修改httpd.ini配置文件,如果不太熟悉,就在/docs看看手册,研究去,如此:
[ISAPI_Rewrite]CacheClockRate 3600RewriteRule ^(.*)/([a-z0-9A-Z\-]+\.html)$ $1/default.asp\?id=$2
这个配置好了就能在default.asp获取参数了,没问题把,顺便一说,正则用法里面最重要的符号^匹配开头,$匹配结尾,\w匹配任何字符,\s匹配空白,+匹配至少一,*匹配至少0,[x,]匹配至少x,()是分组技术,汗,这东西不说了,太弱了.
下面说apache(Unix平台最流行的WEB服务器平台)的重写技术,基本类似,只不过,apaceh支持更灵活的.htaccess,你创建一个文件,文件名就是.htaccess:内容:
RewriteEngine OnRewriteRule ^([a-z0-9A-Z\-]+\.html)$ default.php\?id=$1
就这样,搞定之.注意,必须要空间支持 Rewrite 以及对站点目录中 .htaccess 的文件解析,才有效.
如何让空间支持Rewrite 和 .htaccess 的文件解析呢 往下看
第一步:我们要找到apache(Unix平台最流行的WEB服务器平台)安装目录下的httpd.cof文件,在里面找到
&Directory /&Options FollowSymLinksAllowOverride none&/Directory&把none改all,第二步:找到一下内容
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
第三步就是最困难的,保存重启apache(Unix平台最流行的WEB服务器平台)了。 需要自己用心研究了。
剩下的就是测试了。。以上设置我都测试通过了。
48小时热文排行当前位置: >
DEDECMS全站伪静态设置方法
发布时间: 点击次数:正在加载... 来源:
1、首先栏目和文章最好设置成动态浏览,这样才不会生成静态html文件。
修改&& &将所有文档设置为&仅动态&,可以进入数据库管理中,执行下面命令: &update&dede_archives&set&ismake=-1 &并将ismake的默认值设置为&-1即动态。 &将所有栏目设置为&使用动态页&,可以进入数据库管理中,执行下面命令: &update&dede_arctype&set&isdefault=-1&
2、修改重写的URL。
如果用默认的设置,&访问的URL是:
/plus/view-131-1.html
这样的形式,&我们是可以更改这种样式的.
找到文件/include/helpers/channelunit.helper.php打开.
可以看到有这样的语句&&
retu&$GLOBALS[&cfg_plus_dir&].&/view-&.$aid.'-1.html';&
这就是文章的url格式.&&修改为
retu&&/view-&.$aid.'-1.html';&
找到这是列表的重写url.&
$reurl&=&$GLOBALS['cfg_phpurl'].&/list.php?tid=&.$typeid;&
这是列表的重写url.&修改为:
$reurl&=&&/list-&.$typeid.&.html&;&&&
3、需要设置重写规则。
在系统目录下加一个&.htaccess文件,在里面加上下面的:
RewriteEngine&On&& &RewriteRule&^list-([0-9]+)\.html$&/plus/list.php?tid=$1 &RewriteRule&^list-([0-9]+)-([0-9]+)-([0-9]+)\.html$&/plus/list.php?tid=$1&totalresult=$2&PageNo=$3 &RewriteRule&^view-([0-9]+)-1\.html$&/plus/view.php?arcID=$1 &RewriteRule&^view-([0-9]+)-([0-9]+)\.html$&/plus/view.php?aid=$1&pageno=$2&
如果你的系统支持url重写,到这里就可以用伪静态访问了.这样就完成了设置。&
更进一步,还可以把view换成自己的任何词语,这也要把include/arc.archives.class.php文件中的view也一样替换。
发布选项:&生成HTML&仅动态浏览&发文章的时候选一下就可以了。为了以后升级,尽量减少修改文件。
更多伪静态设置方法:
频道|列表页|文章页伪静态
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打开/include/channelunit.func.php进行修改。注意:DedeCms V5.7,此文件路径更改了,你打开/include/helpers/channelunit.helper.php即可。
a.将GetFileName()中的如下代码:
&if($cfg_rewrite&==&'Y')&&{&&retu&$GLOBALS[&cfg_plus_dir&].&/view-&.$aid.'-1.html';&&}&
&if($cfg_rewrite&==&'Y')&&{&&retu&&/archives/view-&.$aid.'-1.html';&&}&
将文章页默认的/plus/view-1-1.html链接格式改为/archives/view-1-1.html,这个随个人喜欢,不作更改也行。
b.将GetTypeUrl()中的如下代码:
&$reurl&=&$GLOBALS['cfg_phpurl'].&/list.php?tid=&.$typeid;&
&$reurl&=&&/category/list-&.$typeid.&.html&;&
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1.html形式。
列表分页伪静态
打开/include/arc.listview.class.php,找到获取动态的分页列表GetPageListDM()函数末尾处:
$plist&=&str_replace('.php?tid=',&'-',&$plist);&
$plist&=&str_replace('plus',&'category',&$plist);//将默认的plus替换成category&
$plist&=&str_replace('.php?tid=',&'-',&$plist);&
将列表分页默认链接格式/plus/list-1-2-1.html修改为/category/list-1-2-1.html,这步也可以不作更改。
文章分页伪静态
打开/include/arc.archives.class.php,找到获取动态的分页列表GetPagebreakDM()函数末尾处:
$PageList&=&str_replace(&.php?aid=&,&-&,$PageList);&
$plist&=&str_replace('plus',&'archives',&$plist);//将默认的plus替换成archives&
$PageList&=&str_replace(&.php?aid=&,&-&,$PageList);&
这步不作修改也可以,只是个人喜好问题。
TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tags.php?/dedecms5.7/,非常之难看。打开/include/taglib/tag.lib.php,找到lib_tag()函数下的:
$row['link']&=&$cfg_cmsurl.&/tags.php?/&.urlencode($row['keyword']).&/&;&
$row['link']&=&$cfg_cmsurl.&/tags/&.urlencode($row['keyword']).&/&;&
到这里,TAG标签URL中的&.php?&号就去掉了。
搜索伪静态
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。小拼就偷下懒,将搜索URL中&search.php?&&直接替换为&search.html?&&,至于&?&号之后的参数以任意字符进行匹配。
依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找&search.php?&替换为&search.html?&即可。
问答伪静态
问答模块的伪静态实现比较简单,只要后台开启伪静态支持即可,至于个别页面,如ask目录下的browser.php、question.php以及include目录下的common.inc.php、functi*****.inc.php都需要简单修改才可以匹配伪静态规则。注意一点,DedeCms V5.7问答模块整体升级了,之前的规则已经不适用了,小拼以后会专门写个教程供大家参考的。
DedeCms伪静态注意事项
1)以上提供的DedeCms伪静态修改以及规则都是按照个人的修改步骤来的,仅供参考,你可以根据站点的实际情况作相应调整;
2)伪静态实现思路,即根据理想的URL结构写好伪静态规则,然后对程序进行相应修改,并没有你想象中的那么复杂;
3)不会程序、不会正则都没有关系,但是思路一定要清晰,还有就是禁得住&折腾&,多研究,搞透了,对提升自己也有极大好处。
转载请注明: >>
本文原地址:
DEDECMS教程

我要回帖

更多关于 伪静态 的文章

 

随机推荐