伪静态的实现方法: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这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...
随机推荐
- shell linux基本命令实例、笔记
1. 在当前文件夹下.查找20分钟内,被訪问过的文件, 并将文件的详情显示出来: find ./ -name '*.log' -mmin -20 -exec ls -l {} \; 当然,须要指出 ...
- springboot中logback打印日志(转)
springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能 直接贴代码: <?xml version="1. ...
- JAVA利用JXL导出/生成 EXCEL1
/** * 导出导出采暖市场部收入.成本.利润明细表 * @author JIA-G-Y */ public String exporExcel(String str) { String str=Se ...
- Python科学计算生态圈--Pandas
- linux之bc命令
当在脚本中要处理浮点数计算时,就可以使用bc计算器,先看下面的例子 [root@node2 tmp]# cat bc.sh #!/bin/bash # num1=`echo "scale=3 ...
- Django项目:CRM(客户关系管理系统)--15--07PerfectCRM实现King_admin显示注册的表01
<th ><a href="/kingadmin/{% get_app_name admin_class.model %}/{% get_model_name admin_ ...
- 批处理启动应用程序(win)
@echo off net session >nul 2>&1 " ( echo Oops: This tools must run with administrator ...
- css Position 上下左中右布局
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- WPF Popup实现拖动
问题一.popup总是置顶,遮挡其他窗口 最近发现popup设置打开后,总是会遮挡其他窗口,而我们只想让它仅仅在应用程序的上一层即可,并不像让它在最上面 解决方案是继承Popup重新定义控件Popup ...
- TypeScript类型检查机制
类型推断 指不需要指定变量的类型,TS编译器可以根据某些规则自动推断出类型. 什么时候会有类型推断? 声明变量时没有指定类型 函数默认参数 函数返回值 ...... let a; // 这时自动推断为 ...