cnhbzx
互帮自学 Lv26  
楼主
利用web.config实现伪静态(IIS7.0以上,无法通过.htaccess实现伪静态)
查看:3629   回复:5   发布于2016-12-29 09:47:07
本人的虚拟主机为WindowsNT+IIS7.5,不支持Apache伪静态规则,无法通过HADSKY程序自带的.htaccess文件实现伪静态,在网上搜索,发现IIS7以上只能通过web.config文件实现伪静态,需要将.htaccess规则转变成web.config规则,根据HADSKY程序自带的.htaccess文件,修改制作了web.config文件,将下列代码复制到TXT文本中,另存为web.config文件,上传到网站根目录,将网站根目录的.htaccess删除(如果根目录有httpd.ini文件,也一并删除),然后到网站后台打开伪静态开关即可。需要注意的是,无论自带的.htaccess规则还是web.config规则,都只针对游客有效,会员登陆后是看不出来伪静态的,需要会员退出登录后刷新,就可看出是伪静态了。代码如下(也可下载云附件的文件,解压后直接上传到网站根目录):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
	<rewrite>
<rules>
<rule name="index">
	<match url="^index\.html$"  />
	<action type="Rewrite" url="/index.php"  />
</rule>
<rule name="rule 1J">
	<match url="^list-([0-9]+)-([0-9]+)\.html$"  />
	<action type="Rewrite" url="/index.php?c=list&amp;sortid={R:1}&amp;page={R:2}&amp;%1"  />
</rule>
<rule name="rule 2J">
	<match url="^list-high-([0-9]+)-([0-9]+)\.html$"  />
	<action type="Rewrite" url="/index.php?c=list&amp;type=high&amp;sortid={R:1}&amp;page={R:2}&amp;%1"  />
</rule>
<rule name="rule 3J">
	<match url="^user-([0-9]+).html$"  />
	<action type="Rewrite" url="/index.php?c=user&amp;id={R:1}&amp;%1"  />
</rule>
<rule name="rule 4J">
	<match url="^forum-([0-9]+).html$"  />
	<action type="Rewrite" url="/index.php?c=forum&amp;id={R:1}&amp;%1"  />
</rule>
<rule name="rule 5J">
	<match url="^user-([0-9]+)-([0-9]+).html$"  />
	<action type="Rewrite" url="/index.php?c=user&amp;id={R:1}&amp;page={R:2}&amp;%1"  />
</rule>
<rule name="rule 6J">
	<match url="^app-([0-9a-zA-Z_]+)-([0-9a-zA-Z_]+)\.html$"  />
	<action type="Rewrite" url="/index.php?c=app&amp;a={R:1}:{R:2}&amp;%1"  />
</rule>
<rule name="rule 7J">
	<match url="^read-([0-9]+)-([0-9]+)\.html$"  />
	<action type="Rewrite" url="/index.php?c=read&amp;id={R:1}&amp;page={R:2}&amp;%1"  />
</rule>
<rule name="rule 8J">
	<match url="^([0-9a-zA-Z_]+)\.html$"  />
	<action type="Rewrite" url="/index.php?c={R:1}&amp;%1"  />
</rule>
</rules>
</rewrite>
    </system.webServer>
</configuration>
1269_20161229093624.zip(云文件:0KB)



管理员添加:

上述方法若无法成功设置请删掉以下规则:

        <handlers>
            <remove name="PHP-5.6-7i24.com" />
            <remove name="PHP-5.5-7i24.com" />
            <remove name="PHP-5.4-7i24.com" />
            <remove name="PHP-5.3-7i24.com" />
            <remove name="PHP-5.2-7i24.com" />
            <add name="PHP-5.4-7i24.com" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="c:\php\5.4\php-cgi.exe" resourceType="Either" />
        </handlers>
然后再进行尝试。

互帮自学(www.cnhbzx.cn),互相帮助的公考自学平台。 
回复列表
默认   热门   正序   倒序
zs163
6F
张帅Lv23 
我的通过您的方法试了,显示的是这个

Image

 4   2017-04-13 13:17:02 回复
wudianjiu
5F
wudianjiuLv1 

我补充一个IIS的web.config配置说明。

这个说明是我的网站 www.54jujiang.com,实现404自定义页面跳转的配置代码。因为我的空间不能实现空间管理后台自定义404,这个配置解决了这个问题。将以下代码加入web.config后,站测可以。


<httpErrors errorMode="DetailedLocalOnly">

            <remove statusCode="404" subStatusCode="-1" />

            <error statusCode="404" subStatusCode="-1" path="/404.htm" responseMode="ExecuteURL" />

</httpErrors>

 4   2017-02-09 23:57:29 回复
guest
4F
游客Lv0 

我补充一个IIS的web.config配置说明。

这个说明是我的网站 www.54jujiang.com,实现404自定义页面跳转的配置代码。因为我的空间不能实现空间管理后台自定义404,这个配置解决了这个问题。将以下代码加入web.config后,站测可以。


<httpErrors errorMode="DetailedLocalOnly">

            <remove statusCode="404" subStatusCode="-1" />

            <error statusCode="404" subStatusCode="-1" path="/404.htm" responseMode="ExecuteURL" />

</httpErrors>

 3   2017-02-09 23:56:03 回复
puyuetian
3F
乐天Lv234   
不错,奖励100豆豆

环保战线:
有豆豆真不错(ˉ﹃ˉ)

 4   2016-12-29 09:52:22 回复
cnhbzx
2F
互帮自学Lv26 
能通过.htaccess和httpd.ini文件实现伪静的就没必要再弄这个了,通过.htaccess和httpd.ini文件无法实现伪静态,且是Windows+IIS7.0以上的可以尝试下通过这个实现伪静态,我的网站就是这么实现的,可以参考下,我个人资料中签名里有我的网站地址。
 3   2016-12-29 09:50:07 回复

回复: 利用web.config实现伪静态(IIS7.0以上,无法通过.htaccess实现伪静态)

拖动滑块验证
»
暂无用户组
等级:0级
天豆:
游客:
HadSky 5.x 微信时代
公众号 HadSky微信订阅号
小程序 HadSky微信小程序
关注送福利,登录送天豆
版块列表
HadSky 5.x

Powered by HadSky 5.0.0

©2015 - 2017 HadSky

购买产品 用户文档 授权查询 网站绑定 加入QQ群

您的IP:54.196.2.131,2017-11-20 11:50:56,Processed in 0.03988 second(s).

支持原创软件,抵制盗版,共创美好明天!
已有0次打赏