(这篇很早就答应Twitter上的某人要写了,结果现在才来完成,先抱歉一下。)
如何在GoDaddy的Windows主机上安装Dabr?这其实是一个很蛋疼的问题。因为要装Dabr的话在Godaddy的后台把Windows主机切换成Linux主机,然后按照正常步骤安装就能顺利完成。但是如果同时要放一个ASP的站在这个主机上的时候(我就是如此)就不得不用Windows主机,这时候装Dabr问题就来了:装完了除了首页其他什么页面都进不去,HTTP 404。
那么怎么解决呢?我看了一下Dabr的源码,发现404的原因是由于Dabr中使用.htaccess设置跳转把大部分http请求丢给index.php处理,而GoDaddy的Windows主机似乎不支持.htaccess,自然就会404了。知道了这一点那么处理方法也就简单了,使用以前我说过的404->301的方法,利用自定义404错误页面来实现原本由.htaccess实现的跳转。
具体步骤如下:
1.按照正常安装方式配置好Dabr。
2.新建一个内容如下的asp文件并保存上传:
<%@ Language=VBScript %>
<% ON ERROR RESUME NEXT
y=split(Request.ServerVariables("QUERY_STRING"),";")
x=y(1)
IF instr(1,x,"/dabr目录/",1)>0 THEN
x=replace(x,"http://域名1:80/dabr目录/","",1,-1,1)
x=replace(x,"http://域名2:80/dabr目录/","",1,-1,1)
x=replace(x,"http://域名3:80/dabr目录/","",1,-1,1)
………………
x=replace(x,"?","&")
Response.Status="301 Moved"
Response.AddHeader "Location","http://域名:80/dabr目录/index.php?q="+x
ELSE
Response.Status="404"
response.write("HTTP 404")
response.write(Request.ServerVariables("QUERY_STRING"))
END IF
%>
其中红字部分为需要自己编辑的部分,注意端口号( :80 )不可省略。另外ELSE部分是除了Dabr目录外的其他目录HTTP 404的处理,可自行编辑。
以上代码的意思是判断产生HTTP 404错误的页面是否为Dabr目录下。如果是,将该HTTP请求用HTTP 301转给Dabr的index.php处理,否则正常输出HTTP 404错误。
3.打开Dabr目录下的”browsers/desktop.php” “common/settings.php” “common/twitter.php” “common/user.php” ,替换“$_POST[‘”为“$_GET[‘”,替换“method=”post””为“method=”get””,然后上传Dabr。
4.在GoDaddy的后台将404错误页面指定为2保存的文件。然后等设置生效,Dabr即可使用。
恩,以上就是Dabr在GoDaddy的Windows主机上安装的方法,也挺简单吧。
另外可能在处理中文的时候会有一些错误,不怎么影响使用我就没管,如果有解决的记得告诉我方法:)