pjblog如何解决子目录问题

问题描述:
Godaddy是美国著名主机商,但是子目录问题由来已久,很多人对此很困惑,大概原因就是国内程序在获取服务器的URl时通常是从物理路径读出来的,所以会出现有子目录的情况。
如我的站点所示,在首页没有问题,但是点到静态页面,再看用户登录那个地方就变成了二级目录,就是说本来应该是http://www.x-sword.org/a.htm却变成了http://www.x-sword.org/admin/a.html
这个问题大家可以参考这个讨论帖
http://bbs.idcspy.com/thread-73685-1-1.html

解决思路:
我在网上找到这样一个帖子:
http://www.phpwind.net/read-htm-tid-749770.html
我按照他提供的方法在PJ里面这样操作:
1.随便找到一个htm的静态网页,点右键,查看网页源代码
2.在head区域找到了base href的链接,发现出现问题的页面都是http://www.x-sword.org/admin/,说明这个链接获取错误了。
3.想到静态页面和template下面的static.htm有关系。于是打开这个文件,发现有一个代码是<base href="<$base$>"></base>
4.在这个页面上方没有看到定义这个的代码,于是怀疑和引用的其他文件有关系,我用notepad++在所有文件中搜了一遍base这个关键词,发现function.asp中有,在function中有这样的代码:
'*************************************
'获得基址
'*************************************
Function GetbaseUrl()
        Dim baseUrl
        baseUrl = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")
        baseUrl = Left(baseUrl, InStrRev(baseUrl,"/"))
        GetbaseUrl = baseUrl
End Function
我看了半天,问了几个朋友,才知道
Request.ServerVariables("HTTP_HOST")是获取域名,也就是PJ后台里面填写的博客地址。
Request.ServerVariables("URL")是获取域名后面的URL。
但是我不知道哪个函数获取错了地址。
5.我不知道以上代码怎么修改,干脆将static.htm中的<base href="<$base$>"></base>
即<base href="http://www.x-sword.org"></base>

解决方法:
将static.htm中的<base href="<$base$>"></base>
即<base href="http://www.x-sword.org"></base>

缺点:
最好将function.asp中的代码:
'获得基址
'*************************************
Function GetbaseUrl()
        Dim baseUrl
        baseUrl = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")
        baseUrl = Left(baseUrl, InStrRev(baseUrl,"/"))
        GetbaseUrl = baseUrl
End Function

改掉,但是我不会修改啊。希望高人指点!




如果您喜欢本篇文章,也许您也会喜欢下面推荐的文章!
其实我不想帮你找... (轩辕网的日志真乱 -_-#.. )
[本日志由 admin 于 2010-02-23 07:32 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: pjblog godaddy asp 代码

在线RSS阅读器订阅:
feedsky
抓虾 pageflakes Rojo
google reader my yahoo newsgator
bloglines 有道

手机订阅:


本站订阅地址:
RSS2:  【点击复制
Atom:  【点击复制
免责说明:
本站提供的文件均通过卡巴斯基最新版扫描无毒,请放心使用
本站所发表内容或来自互联网,或本人原创,只为学习交流之用,不存在任何商业用途
遵循创作共同协议,您可自由复制等方式传播本作品。
如果本站内容不慎侵犯了您的版权,请及时联系我们,我们将尽快处理。

遵循创作共同协议,您可自由复制,发行,广播或通过信息网络传播本作品。
但须遵守下列条件:
◎ 署名. 您必须按照作者或者许可人指定的方对作品进行署名。
◎ 非商业性使用. 您不得将该作品用于商业目的。
◎ 禁止演绎. 您不得修改、转换或者以本作品为基础进行创作。
任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
评论: 0 | 引用: 0 | 查看次数: - | TOP ↑
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.