码迷,mamicode.com
首页 > Web开发 > 详细

POST对URL中末尾斜杠的差异

时间:2015-06-17 23:28:47      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:url   web服务器   搜索引擎   get   post   

在调试一个接口,php的,文件名是index.php,放在目录/checkmail/下。


访问时的url写的是/checkmail,调用时用的是JQuery的post方法。


开始发现,被调用时检查传入的参数没有传过来。


跟踪了传过来的所有参数,发现$_SERVER[‘REQUEST_METHOD‘]得到是GET。


明明是POST调用的,为什么得到的是GET呢?


先百度了一下,没找到答案。


于是各种尝试,最后在调用的url中,把反斜杠/加上,发现参数得到了。


也就是说,/checkmail 和 /checkmail/,是不一样的。


继续百度,发现加不加斜杠的讨论,在SEO中更多。


当Web服务器接收到对某个末尾不含斜杠的url请求时,例如“http://www.abc.com/checkmail”,这时服务器会搜索网站根目录下有没有名为“checkmail”的文件,如果没有就把checkmail当做目录处理,然后返回checkmail目录下的默认首页。当Web服务器接收到的是末尾带斜杠的请求时就会直接当做目录处理。

简单来说就是,当浏览器解析 /checkmail 这样的url时,服务器会执行301转向到/checkmail/,两个链接都有效,但是第二种更快。当然这个转向的时间一般是感觉不到的,几乎可以忽略。对于搜索引擎,这两个地址是有可能同时收录的。


也就是说,以/checkmail/访问时,因为没有checkmail这个文件,所以被转向到/checkmail/目录了,而/checkmail/的首页,也就是index.php被调用。

因为被转向了,所以,POST过来的数据,可能因为服务器配置的原因,没有以POST的方式转向到/checkmail/。


这应该是问题所在了,至于是不是服务器配置还是怎么配,没有再继续看。

比较明确的是,POST调用/checkmail/和/checkmail,如果有差异,还是统一成唯一的URL比较好。

POST对URL中末尾斜杠的差异

标签:url   web服务器   搜索引擎   get   post   

原文地址:http://blog.csdn.net/pompeii/article/details/46538605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!