阿里云discuz在IIS伪静态失败出现提示500错误处理办法

罗帆 草根站长 2016-09-12 1494 0

这里规格是很简单的,现在的discuz后台已经提供了很完整的规则说明,在SEO设置里面的URL静态化里面可以看到你要的对应的规则。


把规则加入到你的web.config这个文件,用记事本打开。


然后,把代码加入到<system.webServer>*****</system.webServer>


加到这个之间,另外,很容易忽略的一个问题,就是默认的阿里云是没有安装URL重写的。所以需要你手动安装下URL重写。


下载地址:http://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads 安装好后(记得找对你要的版本),IIS管理工具中后出现"URL Rewrite"的选项,如下图:

URL

安装好即可。


提供一个web.config代码

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="index.php" />
            </files>
        </defaultDocument>
	<rewrite>
	<rules>
		<rule name="portal_topic">
			<match url="^(.*/)*topic-(.+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/portal.php\?mod=topic&amp;topic={R:2}&amp;{R:3}" />
		</rule>
		<rule name="portal_article">
			<match url="^(.*/)*article-([0-9]+)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/portal.php\?mod=view&amp;aid={R:2}&amp;page={R:3}&amp;{R:4}" />
		</rule>
		<rule name="forum_forumdisplay">
			<match url="^(.*/)*forum-(\w+)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/forum.php\?mod=forumdisplay&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
		</rule>
		<rule name="forum_viewthread">
			<match url="^(.*/)*thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/forum.php\?mod=viewthread&amp;tid={R:2}&amp;extra=page%3D{R:4}&amp;page={R:3}&amp;{R:5}" />
		</rule>
		<rule name="group_group">
			<match url="^(.*/)*group-([0-9]+)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/forum.php\?mod=group&amp;fid={R:2}&amp;page={R:3}&amp;{R:4}" />
		</rule>
		<rule name="home_space">
			<match url="^(.*/)*space-(username|uid)-(.+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;{R:2}={R:3}&amp;{R:4}" />
		</rule>
		<rule name="home_blog">
			<match url="^(.*/)*blog-([0-9]+)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/home.php\?mod=space&amp;uid={R:2}&amp;do=blog&amp;id={R:3}&amp;{R:4}" />
		</rule>
		<rule name="forum_archiver">
			<match url="^(.*/)*(fid|tid)-([0-9]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/index.php\?action={R:2}&amp;value={R:3}&amp;{R:4}" />
		</rule>
		<rule name="plugin">
			<match url="^(.*/)*([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+).html\?*(.*)$" />
			<action type="Rewrite" url="{R:1}/plugin.php\?id={R:2}:{R:3}&amp;{R:4}" />
		</rule>
	</rules>
</rewrite>
        <httpErrors>
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="" path="/404/index.html" responseMode="ExecuteURL" />
        </httpErrors>
   </system.webServer> 	
</configuration>

评论