码迷,mamicode.com
首页 > Web开发 > 详细

Apache下使用rewrite实现discuz伪静态的配置

时间:2018-05-21 12:38:48      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:伪静态简介   伪静态作用   使用rewrite配置伪静态   

Apache下使用rewrite实现discuz伪静态的配置

1、伪静态简介及作用

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP或PHP之类的动态脚本来处理的。

2rewrite实现discuz伪静态的配置步骤

1)配置步骤文字说明

首先登陆discuz后台管理,进入“管理中心”>“全局”>“优化配置”>“搜索引擎优化(SEO设置)”,再把URL地址想静态化的页面列表地方勾选,然后点击提交。

2)详细实现步骤如下

 1、进入管理中心

技术分享图片

2、输入用户名的密码,然后提交。

技术分享图片

3、上面输入密码后进入下面的界面,点击全局>SEO设置。

技术分享图片

4、把URL地址想静态化的页面列表地方勾选,然后点击提交。

技术分享图片

5、上面设置完成之后,点击“查看当前的 Rewrite 规则

技术分享图片

6、上面点击查看当前的rewrite规则后,会出现下面的页面,把对应的用户规则复制进Apache网页服务的配置文件,然后重启服务即可实现动态页面转伪静态的配置。

3Apache服务独立主机用户使用rewrite配置伪静态

修改Apache的主配置文件,在配置文件中添加如下内容

vim /usr/local/apache2/conf/httpd.conf

<IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/archiver/index.php?action=$2&value=$3&%1

    RewriteCond %{QUERY_STRING} ^(.*)$

    RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3&%1

</IfModule>

4Apache虚拟主机用户使用rewrite配置伪静态

修改Apache虚拟主机的配置文件,在配置文件中添加如下内容

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

# 将 RewriteEngine 模式打开

RewriteEngine On

 

# 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /

RewriteBase /discuz

 

# Rewrite 系统规则请勿修改

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1

RewriteCond %{QUERY_STRING} ^(.*)$

RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1


Apache下使用rewrite实现discuz伪静态的配置

标签:伪静态简介   伪静态作用   使用rewrite配置伪静态   

原文地址:http://blog.51cto.com/longlei/2118635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!