注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

高级菜鸟

积累并顺便分享AI,启动技术,C#,ASP.net等知识的地方

 
 
 

日志

 
 

GoDaddy绑定子目录安装discuz在域名后面出现子目录名  

2011-03-30 02:43:48|  分类: web优化 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

godaddy windows主机路径问题的解决办法

路径问题有的程序可以在后台或者代码里设置下即可解决,比如Z-blog程序据可以在后台设置

查看godaddy官方帮助文档发现了前面一段时间的godaddy windows主机程序出现的路径问题的原因。
访问子目录网站多出的网站文件夹目录的原因是原来网站程序读出站点物理路径然后再读出文件所在的路径,再计算出实际安装的主目录。
解决的办法就是通过修改Server.MapPath()指定获取的路径
下面是返回当前路径的示例:
引用:
<%
Dim currentdirectorypath
currentdirectorypath = Server.MapPath(".")
response.write currentdirectorypath
%>
根据你输入的内容会返回不同的结果,
下面依次返回当前目录的上一层目录(也就是父目录)、程序的根目录、指定的页面。
引用:
Server.MapPath("..") 
Server.MapPath("/") 
Server.MapPath("IDCSpy.aspx")
另外有些程序在后台设置下即可避免出现路径问题,比如WordPress和Z_blog程序

GoDaddy绑定子目录安装discuz在域名后面出现子目录名
http://www.abc.com   绑定在 def目录后面  打开网站访问以后变成了http://www.abc.com/def
150G空间 windows主机  求教解决办法   听说phpwind可以修改模板文件解决   discuz X1.5的程序有高手能解决域名后面出现子目录名的问题吗
参考如下修改
\source\class\class_core.php 第164.165行
$_G['siteurl']  和 $_G['siteroot'] 这俩变量决定着整站的URL链接,只要在这里去除掉子目录字符串即可。
格式如下:

$_G['siteurl'] = str_replace("/abc.com","",htmlspecialchars('http://'.$_SERVER['HTTP_HOST'].preg_replace("/\/+(api)?\/*$/i", '', substr($_G['PHP_SELF'], 0, strrpos($_G['PHP_SELF'], '/'))).'/'));

$_G['siteroot'] = str_replace("/abc.com","",substr($_G['PHP_SELF'], 0, -strlen($_G['basefilename'])));

另一种说法:把它上面的if(defined('SUB_DIR')) 改成if(1)试试


GoDaddy windows主机安装KingCMS路径问题修改的方法

如果你的域名是绑定在根目录下的一个子目录,这就造成了下面的这个情况,比如:
http://www.idcspy.com是绑定在Godaddy FTP空间里的idcspy这个目录,那么用http://www.idcspy.com/可以正常访问,用http://www.idcspy.com/idcspy/的路径也可以访问。虽然说不造成特别大的影响但链接全部都变成了http://www.idcspy.com/idcspy/GoDaddy/add.htm这样的模式,而不是http://www.idcspy.com/idcspy/GoDaddy/add.html这样的模式,包括图片什么的都会多一级目录。

首先找到page/system/fun.asp这个文件,打开搜索'inst这个字符
大概在231行

public property get inst
dim scriptname,l1,I1,I2,I3
if r_inst="" then
  I1=server.mappath("/")
  I2=server.mappath("../../")
  if instr(I2,I1)&gt;0 then
   r_inst=replace(right(I2,len(I2)-len(I1)),"\","/")&"/"
  else
   error lang("error/virtualdirectory")&"&lt;br/&gt;"
  end if
end if
inst=r_inst
end property

将I2修改为 I2=server.mappath("../../../")
修改理由是,原来的是读出站点物理路径然后再读出文件所在的路径,再计算出实际安装的主目录。
这主要是因为是所用的域名绑定二级目录而不是根目录,所以多一级目录,如果在Godaddy里是安装在三级目录那么这个地方也跟着变成 I2=server.mappath("../../../../")根据需要进行修改。
高级菜鸟推荐阅读:
  评论这张
 
阅读(3827)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018