支持原创软件,抵制盗版,共创美好明天!
adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
cnhbzx
互帮自学Lv25 
利用web.config实现伪静态(IIS7.0以上,无法通过.htaccess实现伪静态)     
本人的虚拟主机为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>
然后再进行尝试。

 4  已被阅读了2918次  楼主 2016-12-29 09:47:07
回复列表
zs163
6F
张帅Lv23 
我的通过您的方法试了,显示的是这个

Image

 1   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>

 1   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>

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

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

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

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

拖动滑块验证
»
购买产品 用户文档 授权查询 网站绑定 加入QQ群 陕ICP备13005805号
您的IP:54.158.248.167,2017-09-27 03:59:39,Processed in 0.43911 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 4.8.0
已有0次打赏