当前位置:首页 > 娱乐

iwms 出错 iis 配置

iwms这套老牌内容管理系统,出错碰上IIS配置出错,出错十有八九是出错权限和脚本映射在作祟。别急着重装系统,出错那是出错最笨的法子。上周刚帮一个客户收拾过残局,出错他的出错服务器跑着iwms 3.2,页面直接给你甩个500错误,出错事件查看器里躺着一堆“模块DLL C:\Windows\system32\inetsrv\asp.dll 加载失败”的出错日志。

先看应用程序池。出错iwms这古董玩意儿,出错多半是出错32位的,IIS7以上默认禁用32位应用。出错你打开应用程序池的出错高级设置,把“启用32位应用程序”改成True,出错这一下能救回一半的故障。另外,托管管道模式得设成“经典”,集成模式跟老asp.net控件经常闹别扭,页面能打开但后台功能全瘫,那种更坑。

权限问题更隐蔽。iwms的Uploads目录、Database目录,IIS进程账户得有写权限。我见过最离谱的一次,客户把整个网站目录的“读取”权限给删了,就留了个“写入”,结果前台html都打不开。常规做法是给IIS_IUSRS组赋予读取和执行权限,Uploads单独加写权限。别图省事给Everyone完全控制,那等于把服务器大门钥匙挂门口。

脚本映射缺失也常见。IIS6时代升到IIS7/8,处理程序映射里经常没有ASP.NET的条目。你进IIS管理器,选中站点,双击“处理程序映射”,看看有没有ExtensionlessUrlHandler-Integrated-4.0之类的东西。没有的话,用命令行跑一遍%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i,这招虽然老,但管用。

还有个坑,iwms的web.config里经常写着老版本的配置节。IIS7以后,system.webServer节跟system.web节打架,你会在浏览器里看到“无法识别的配置节 system.web.extensions”。这时候别硬删,去微软下载中心找ASP.NET 2.0的补丁,或者直接改web.config,把带版本号的程序集绑定重定向到4.0。麻烦点,但比换程序强。

最后提一嘴URL重写。iwms的伪静态功能依赖IIS的Rewrite模块,没装的话,所有分类页全部404。你去官网下个x86版的rewrite_amd64.msi,装完重启IIS,基本就能喘过气。要是还不行,看看站点绑定的主机头,是不是多了个没用的域名,那玩意儿能让整个站点全跳转到错误页面。

处理完这些,八成能跑起来。剩下两成是数据库连接串写错,或者MSSQL服务没启动,那属于另一个范畴的折腾了。反正记住,iwms这老家伙,配置上就吃这几套拳法,拆招比换新东西划算得多。

分享到: