伪静态的实现方法:IIS环境下配置
URL 静态化可以提高搜索引擎抓取,开启本功能需要对 Web 服务器增加相应的 Rewrite 规则,且会轻微增加服务器负担。本教程讲解如何在 IIS 环境下配置各个产品的 Rewrite 规则。
下面以Discuz为例讲解IIS环境下配置Rewrite 规则,希望大家能举一反三。
一、首先下载 Rewrite.zip 的包,解压到任意盘上的任意目录。
Rewrite.zip 下载
各个产品的 Rewrite 规则包不同,请选择对应的产品下载对应的 Rewrite 规则。
Discuz!6.0.0/6.1.0 的 Rewrite 规则下载地址:http://www.discuz.net/attachment.php?aid=195279
UCenter Home1.0.0 的 Rewrite规则下载地址:http://u.discuz.net/help/down/iisRewrite.rar
SupeSite6.0_X-Space4.0_UC 的Rewrite 规则下载地址:http://www.supesite.com/download/iisrewrite.zip
SupeV 的 Rewrite 规则下载地址:http://download.comsenz.com/SupeV/tools/rewrite_iis.zip
下载各个产品的 Rewrite 规则并且重命名后如下图所示存放:
二、配置方法
Discuz!、UCHome、SupeSite/X-Space、SupeV 的 Rewrite 配置方法类似,下面以 Discuz!6.0.0/6.1.0 的 Rewrite 规则配置方法为例讲解如何在 IIS 环境下配置 Rewrite 规则。
在 IIS 管理器里选择网站,右键选择“属性”,如下图所示:
在弹出的窗口里选择“ISAPI筛选器”
上图中点击“添加”,在弹出的窗口里“筛选器名称”填写“rewrite”
上图界面中点击“浏览”,选择下载解压后的 Discuz! Rewrite 规则目录下的 Rewrite.dll 文件
浏览完毕点击“确定”
添加完毕点击“确定”
重新启动 IIS
重新选择该站点 => 右键“属性”=> “ISAPI 筛选器”,如果看到状态为向上的绿色箭头,就说明 Rewrite 模块安装成功了。
Rewrite 规则配置成功了,但是这个时候浏览论坛地址依旧不是伪静态的,还需要到论坛后台做相应的设置才可以。
论坛后台 => 全局 => 优化设置,下图中红色区域选项:
“URL 静态化”:如上图所示有五个选项,根据您的需求选择即可,最多可以选择五个,不选则不生效。
“Rewrtie 兼容性”:如果您的服务器不支持 Rewrite 规则中的中文字符,请选择“是”。对于没有此问题的服务器,可以选择“否”。
上面两项设置完毕“提交”保存即可。
这个时候返回到论坛首页随便打开一个版块或者一个帖子即可看到 Discuz! 的 Rewrite 伪静态配置成功!
三、各个产品的 Rewrite 规则
httpd.ini 文件内容如下配置
复制内容到剪贴板Code:
[ISAPI_Rewrite]
#
3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Discuz! Rewrite规则
# 独立主机用户
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/((fidtid)-[\w\-]+\.html)\?*(.*)$
$1/archiver/index\.php\?$2&$4
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$
$1/forumdisplay\.php\?fid=$2&page=$3&$4
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$
$1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4
RewriteRule ^(.*)/space-(usernameuid)-(.+)\.html\?*(.*)$
$1/space\.php\?$2=$3&$4
RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3
# SupeSite Rewrite规则
# 独立主机用户
# 修改以下语句中的 /supesite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /supesite 修改为 /
RewriteRule ^/supesite/([0-9]+)$ /supesite/index\.php\?uid/$1 [L]
RewriteRule ^/supesite/([0-9]+)/spacelist(.+)$
/supesite/index\.php\?uid/$1/action/spacelist/type$2 [L]
RewriteRule ^/supesite/([0-9]+)/viewspace(.+)$
/supesite/index\.php\?uid/$1/action/viewspace/itemid$2 [L]
RewriteRule ^/supesite/([0-9]+)/viewbbs(.+)$
/supesite/index\.php\?uid/$1/action/viewbbs/tid$2 [L]
RewriteRule ^/supesite/([0-9]+)/(.*)$ /supesite/index\.php\?uid/$1/$2
[L]
RewriteRule ^/supesite/action(.+)$ /supesite/index\.php\?action$1 [L]
RewriteRule ^/supesite/category(.+)$
/supesite/index\.php\?action/category/catid$1 [L]
RewriteRule ^/supesite/viewnews(.+)$
/supesite/index\.php\?action/viewnews/itemid$1 [L]
RewriteRule ^/supesite/viewthread(.+)$
/supesite/index\.php\?action/viewthread/tid$1 [L]
RewriteRule ^/supesite/mygroup(.+)$
/supesite/index\.php\?action/mygroup/gid$1 [L]
# UCHome Rewrite规则
# 独立主机用户
# 修改以下语句中的 /uchome 修改为你的uchome目录地址,如果程序放在根目录中,请将 /uchome 修改为 /
RewriteRule ^/uchome/(spacenetwork)-(.+)\.html$
/uchome/$1\.php\?rewrite=$2 [L]
RewriteRule ^/uchome/(spacenetwork)\.html$ /uchome/$1\.php [L]
RewriteRule ^/uchome/([0-9]+)$ /uchome/space\.php\?uid=$1 [L]
# SupeV Rewrite规则
# 独立主机用户
RewriteRule
^(.*)/ivideo(-tv-([0-9]+))?(-ti-([0-9]+))?(-tc-([0-9]+))?(-page-([0-9]+))?\.html$
$1/ivideo\.php\?tv=$3&ti=$5&tc=$7&page=$9
RewriteRule
^(.*)/ispecial(-tv-([0-9]+))?(-ti-([0-9]+))?(-tc-([0-9]+))?(-page-([0-9]+))?\.html$
$1/ispecial\.php\?tv=$3&ti=$5&tc=$7&page=$9
RewriteRule ^(.*)/icategory\.html$ $1/icategory\.php
RewriteRule
^(.*)/category-cid-([0-9]+)(-tag-([^-]*))?(-timelimit-([0-9]+))?(-orderlimit-([0-9]+))?(-page-([0-9]+))?\.html$
$1/category\.php\?cid=$2&tag=$4&timelimit=$6&orderlimit=$8&page=$10
RewriteRule
^(.*)/vspace-(midusername)-(.+)\.html$ $1/vspace\.php\?$2=$3
RewriteRule ^(.*)/video-(vidivid)-(.+)\.html$ $1/video\.php\?$2=$3
RewriteRule ^(.*)/special-spid-([0-9]+)\.html$ $1/special\.php\?spid=$2
常见问题: 配置好后,HTTPD.INI配置也正确,但还是打不开。这时有可能是rewrite.dll\httpd.ini的权限问题,可以试着给这两个文件EVERYONE的读取权限。
伪静态的实现方法:IIS环境下配置的更多相关文章
- Windows-Server-2008、IIS7.0环境下配置伪静态化
在Windows-Server-2008.IIS7.0环境下配置伪静态化 首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为 ...
- asp.net core 2.1开发环境下配置IIS
asp.net core 2.1是可以在开发环境下配置到IIS中的,这样就可以在vs中按F5直接运行了 在项目上右键点击属性,然后在Debug中配置如下参数 首先点击New按钮,输入IIS,点击确定 ...
- 【经验之谈】Windows环境下配置WordPress
前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...
- IIS环境下如何批量添加、修改、删除绑定的域名
IIS环境下如何批量添加和修改所绑定域名 1.关闭IISADMIN服务和W3SVC服务,可以从服务里面关闭,也可以直接执行命令:net stop iisadmin /y: 2.打开“C:\WINDOW ...
- Nginx环境下配置PHP使用的SSL认证(https)
最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度.吾志等等.https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说c ...
- 有了SSL证书,如何在IIS环境下部署https?【转载】
昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...
- windows Apache 环境下配置支持HTTPS的SSL证书
windows Apache 环境下配置支持HTTPS的SSL证书 1.准备工作 1)在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有SSL版本的A ...
- windows环境下配置tornado
1.前言 在网上看过一些在windows下配置tornado的教程,有一些写的十分复杂,让人望而生却.然后我就自己试着在windows下面配置tornado.我发现,方法非常简单,短短几 ...
- 有了SSL证书,如何在IIS环境下部署https?
昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...
随机推荐
- tesseract训练手写体
前面的步骤都一样,从第4步开始 4.使用tesseract生成.box文件: tesseract eng.handwriting.exp0.tif eng.handwriting.exp0 -l en ...
- @at-root和#{&}结合
Sass有脚本模式#{},他和&不同之处是,&只用作选择器,它只能出现在一个复合的开始选择器,类似于一个类型选择器,如a或者h1.但#{}他表示的是一个插值,它可以用在任何地方.同样的 ...
- springMVC原理解析
1:SpringMVC运行原理 2:工作流程 (1)客户端(浏览器)发送请求,直接请求到DispatcherServlet. (2)DispatcherServlet根据请求信息调用HandlerMa ...
- python 处理缺失值
- BootStrap 栅格化换行问题
bootstrap 3的栅格系统有时会出现错位情况,原因是上一行的元素高度不一,导致元素float错误. 解决方法 使用栅格系统的时候,应该在每一行都使用row单独包裹起来,不要直接在一行中连续加入c ...
- roc.m
function [tpr,fpr,thresholds] = roc(targets,outputs) %ROC Receiver operating characteristic. % % The ...
- GDOI2017第二轮模拟day1 总结
平民比赛 这场比赛的暴力分非常友好. 但是我并没有拿到全部的暴力分. 1(暴力分\(60/100\)) 暂时我可以拿的暴力分为\(30/100\),直接mst模拟即可. 然而当时打了个辣鸡莫队,结果爆 ...
- ChaosBlade 发布对 C++ 应用混沌实验的支持
前言 为满足 C++ 应用系统故障演练,阿里妈妈安全生产团队开源了 C++ 混沌实验执行器,填补了 C++ 应用混沌工程实验的空白,其遵循<混沌实验模型>,可通过 ChaosBlade 工 ...
- POJ 2078
16ms 解法: #include <cstdio> //using namespace std; ][]; ][]; ]; ]; int n,min,max; void solve(in ...
- IOS 第三方管理库管理 CocoaPods
CocoaPod集成Tips http://www.jianshu.com/p/dcde0668eee9 import导入类失败 http://www.360doc.com/content/15/03 ...