首页 新闻 会员 周边 捐助

如何判断一个URL是文件名还是目录名?

0
悬赏园豆:20 [已解决问题] 解决于 2008-05-26 08:07
<P>比如用户输入一个 <A href="http://127.0.0.1/xxx">http://127.0.0.1/xxx</A></P> <P>也许这是根目录下一个 xxx 文件 ,也许这是一个xxx目录,真实访问的是 /xxx/index.html</P> <P>如何判断呢?</P>
flankerfc的主页 flankerfc | 初学一级 | 园豆:0
提问于:2008-01-21 03:57
< >
分享
最佳答案
0
你为什么需要知道这一点呢?对于HTTP来说,很有可能它使用了URL Rewrite机制。 不知道你的需求,我觉的你就直接使用HTTP请求这个页面。 如果他设置了默认文件,应该返回的就是默认文件的内容。 如果他使用了Rewrite, 你得到的就是他要给你看的内容。 如果他使用了重定向,应该从返回信息里面也可以拿到必要的信息,从新在请求重定向后的网页。 如果他什么都没有设置,应该会返回一个404(文件没有找到)的错误。 我知道的可能性就这些了。逐一尝试一下,应该就可以写出一个健壮的系统了。
Colin Han | 老鸟四级 |园豆:3041 | 2008-01-21 13:21
其他回答(7)
0
假设为目录,看看是不是有子文件夹,没有就是文件了,有就是目录。不知我说的对不对
niugm | 园豆:1685 (小虾三级) | 2008-01-21 08:11
0
这个好像没有办法判断 除非你知道此服务器的默认文件,然后尝试访问文件,比如 http://127.0.0.1/xxx/index.html 如果能访问到,那肯定是目录了,访问不到也不一定就是文件 还有可能是URL Rewirte……
丁学 | 园豆:18730 (专家六级) | 2008-01-21 09:13
0
因为有URL Rewrite,不能判断`~~
沙加 | 园豆:3680 (老鸟四级) | 2008-01-21 14:13
0
没有人规定一个URL必须对应一个物理文件/文件夹. 你去看一下MonoRail之类的Web框架,它一个Controller类可以对应好几个页面,你说怎么算?
deerchao | 园豆:8367 (大侠五级) | 2008-01-21 15:20
0
不能判断,URL Rewrite可以将把它作为一个单独的文件名来处理,也可以作为一个带参数的文件名来处理.如果不用URL Rewrite则可能是目录
任力 | 园豆:1124 (小虾三级) | 2008-01-28 14:38
0
对于一个HTTP请求,请求的对象是服务器,而并非某一个具体的目录和文件。由服务器解析你的request,并且作出响应。响应只是一个带状态的数据流,请求发起者最终想得到的也是这个数据流。所以,服务器如何产生这个数据流,对请求发起者来说是没有意义的。事实上很多情况下服务器的数据流既不是文件,也不是目录,而是一段应用程序的返回值而已 如果你想要问的是如何通过 http://127.0.0.1/xxx 也能访问 http://127.0.0.1/xxx/index.html 的话,这个去改服务器配置就行了
棕熊 | 园豆:210 (菜鸟二级) | 2008-04-19 00:34
0
从理论上来说,一定是目录,默认首页都是有后缀的,没有后缀的文件是无法做为默认首页的
我是才子 | 园豆:205 (菜鸟二级) | 2008-05-25 23:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册