“someurl /?a = 2”和“someurl?a = 2”有什么区别?

时间:2013-01-17 17:41:40

标签: php url

我知道我们可以通过以下语法在url中发送变量:

http://www.example.com/index.php?a=1&b=2

我知道我们有一些默认文件,比如index.html,index.php,...来重定向,我们可以重写上面的代码,如下所示:

http://www.example.com/?a=1&b=2

但我不明白这是什么:

http://www.google.com/search?q=e

这必须是:

https://www.google.com/search/?q=e

他们一样吗?

6 个答案:

答案 0 :(得分:2)

此:

http://www.google.com/search

技术上是一个名为search的文件 而这:

https://www.google.com/search/

名为search的目录,通常会自动重写为index文件 有关所谓的“尾随斜杠”的更多信息,请阅读Google的这篇文章:http://googlewebmastercentral.blogspot.de/2010/04/to-slash-or-not-to-slash.html

答案 1 :(得分:2)

someurl /?a = 2会调用someurl / index.php?a = 2

someurl?a = 2会调用someurl

答案 2 :(得分:0)

从严格的URL角度来看,不,它们不一样。根据处理请求的处理程序,它们可以为您提供相同的结果,但它们是不同的URL。

答案 3 :(得分:0)

没有必要。 “搜索”可以看作没有结束的文件,而“搜索/”可以看作是一个文件夹,其中将加载默认页面(例如index.php)。它也可以通过URL重写进行自定义。

答案 4 :(得分:0)

坦率地说,
http://www.example.com/?a=1&b=2http://www.example.com/index.php?a=1&b=2

的快捷方式

虽然someurl中的http://www.example.com/someurl?a=1&b=2只是一个资源名称,但与someurl.phpsomeurl.html或其他类似。资源名称

不是必需的

答案 5 :(得分:-1)

是的,以目录名称(不是文件名)结尾的URI通常与在其后面键入/的方式相同。所以

http://domain.tld/directory

http://domain.tld/directory/

均视为http://domain.tld/directory/default.file

无论你是否有?及其背后的参数,都是一样的。

换句话说,在您的示例中,search是目录的名称。