what is difference between "someurl/?a=2" and &quo


what is difference between "someurl/?a=2" and "someurl?a=2"

我知道我们可以通过这种语法在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

This:

http://www.google.com/search

在技术上应该是一个名为search的文件还有这个:

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

一个名为search的目录,通常会自动重写到index文件中。
请阅读谷歌的这篇文章,了解更多关于"尾斜杠"的信息:http://googlewebmastercentral.blogspot.de/2010/04/to-slash-or-not-to-slash.html

someurl/?A =2将调用someurl/index.php?= 2

someurl吗?A =2将调用someurl

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

不一定。"search"可以看作是一个没有结尾的文件,而"search/"可以看作是一个文件夹,其中默认页面(例如:Index.php)将被加载。它也可以自定义URL重写

坦白说,
http://www.example.com/?a=1&b=2http://www.example.com/index.php?a=1&b=2的快捷方式

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

不是必须的。

是的,以目录名(而不是文件名)结尾的uri通常被视为在它们后面键入/。所以

http://domain.tld/directory

http://domain.tld/directory/

均表示http://domain.tld/directory/default.file

无论后面是否有?和参数,都是一样的

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