Godaddy Windows IIS7虚拟主机discuz 7.2伪静态设置(免费空间同样适用)

一直以为GodaddyWindows主机是不支持网址重写(俗称伪静态,英文原名为URLreWrite)的功能,尝试多次也都失败收场,最近在折腾discuz,考虑到discuz X系列刚出不久,还是7.2比较成熟,不是说产品,而是说周边。其实一直以为不支持的原因,也是以为是免费空间,也就不敢要求那么多,不过今天还是找了一些,都是失败,但是终于成功了一次……

把下面的内容,复制到记事本里,保存为web.config然后放到discuz所在的文件夹就可以了,web.config是IIS7和以上版本才支持的,所以如果你的Godaddy的Windows空间的IIS版本不是6.0而是7.0,那就不能用啦,好啦,不啰嗦了,下面是代码

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 17">
<match url="^archiver/((fid|tid)-[\w\-]+\.html)$" ignoreCase="false" />
<action type="Rewrite" url="archiver/index.php?{R:1}" appendQueryString="false" />
</rule>
<rule name="Imported Rule 18">
<match url="^forum-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<action type="Rewrite" url="forumdisplay.php?fid={R:1}&amp;page={R:2}" appendQueryString="false" />
</rule>
<rule name="Imported Rule 19">
<match url="^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" ignoreCase="false" />
<action type="Rewrite" url="viewthread.php?tid={R:1}&amp;extra=page\%3D{R:3}&amp;page={R:2}" appendQueryString="false" />
</rule>
<rule name="Imported Rule 20">
<match url="^space-(username|uid)-(.+)\.html$" ignoreCase="false" />
<action type="Rewrite" url="space.php?{R:1}={R:2}" appendQueryString="false" />
</rule>
<rule name="Imported Rule 21">
<match url="^tag-(.+)\.html$" ignoreCase="false" />
<action type="Rewrite" url="tag.php?name={R:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true" />
</system.webServer>
<system.web>
<customErrors mode="Off" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" />
</system.web>
</configuration>

Godaddy免费空间Windows系统的php5.ini文件,完美开启allow_url_fopen和mysql

Godaddy注册了好几个域名,然而每个注册域名都会赠送一个免费空间(空间10G,流量300G,其实还有其他一些赠送的,比如相册,邮件等),Windows系统的免费空间支持asp,php,asp.net(aspx),数据库支持mssql以及mysql,不仅如此,性能也非常强劲。默认的php配置是不支持allow_url_fopen(允许使用URL打开文件)功能,导致有些程序不能运行,实在是有些遗憾。 阅读全文 »

Godaddy的Windows空间只读而不可写的取消方法

今天有位客户自己在一个号称全球第一空间服务商--Godaddy那里买了个windows空间,然后将调试好的程序上传到该空间上,前台一切ok,到了后台测试功能的时候,出现了不可预知的错误,添加任何一个信息都出现了HTTP 500 - Internal server error 错误,面对客户质疑的眼神,开始迅速的开始排查问题。

出现这样的错误一般是组件缺失或者IIS配置的问题,因为是写操作出错,所以我们首先通过asp探针查看该空间是否支持FSO组件。

正如上图一样,发现FSO是支持的,于是开始查看空间配置是否有问题,经过一番摸索,终于找到了问题所在,原来是Godaddy为了安全,默认程序不可写文件,必须在控制面板设置才可以写文件。否则所有程序均为只读……以下是Godaddy的Windows空间只读而不可写的取消方法方法步骤

一、登陆到Godaddy后台,然后选择左边Hosting,然后选择右边的相应空间管理Manage Account。

二、进入空间管理后选择菜单栏 Content→File Manage。

三、新建一个文件夹Create New Directory

四、选择Root文件,把写权限勾上即可。如此所有站上的文件都拥有了写的权限。不过建议不要将所有文件夹都赋予写权限,因为不太安全,把有需求的文件夹选择上即可。

五、其他情况

今天在给客户修改程序,在传输完数据后,客户网站又令人意外的发生了500错误,这次发生在修改了写权限之后,所以问题必然不再是写权限了,那么又是什么问题导致?思量了下出现500错误的过程,其中有个插曲,在传输数据库的时候因为中途一直停在80%不动,所以手动暂停了传输,然后选择重新再传,或许正是这个过程,导致了IIS进程池里有了一个未结束的进程,从而数据库不可读写,再次出现了500的错误。

想到了这点,这回就直奔主题,来到Godaddy后台→空间管理→IIS管理→收回应用池→确定,经过短暂的等待,系统显示成功收回所有应用池进程,刷新网站,500错误消失,问题完美解决。