我做的一个项目,我在这同时,通过一些代码,会偶然发现。 我曾试图谷歌,但找不到正确的关键字,关于这个问题进行搜索。
http://www.fruit.com/example.php/red
我与这个和结束混淆.php
它仍然有一个字符/red
的例子。 这样做的目的是什么? 它有事情做与POST
方法?
我做的一个项目,我在这同时,通过一些代码,会偶然发现。 我曾试图谷歌,但找不到正确的关键字,关于这个问题进行搜索。
http://www.fruit.com/example.php/red
我与这个和结束混淆.php
它仍然有一个字符/red
的例子。 这样做的目的是什么? 它有事情做与POST
方法?
一种可能的解释是,开发人员正在使用.htaccess
重写规则。 它是有做的页面(如你所说,POST和GET)最有可能的额外的数据,它的唯一这样做的方式,使URL看起来更漂亮或简化URL。
它有时也做了这样的方式更容易linkback到这个页面,特别是基于数据正在生成的页面。
一个受欢迎的地方做这将是博客。 你经常看博客显示链接为:
http://blog.com/blog/2001/02/23/how-pretty-is-this
而实际上,请求到服务器是一样的东西:
/blog.php?year=2001&month=02&day=23&title=how-pretty-is-this
这是不是漂亮,不是很容易链接返回到这个特定页面。
Mr.Xenotype回答你的问题很好,但错过了一个小部分。
Does it have something to do with POST method?
不,这与GET方法处理。 正如他所说,这几乎使URL看起来“漂亮”,它实际上可能是一个RESTful API的一个重要组成部分(位高级初学者),如果是这样的网站是如何设计的。
http://www.fruit.com/example.php/red
是相同的
http://www.fruit.com/example.php?id=red
一些与.htaccess文件修修补补才能做到这一点使用所谓的正则表达式,或正则表达式。 如果您想知道更多的我会很乐意提供一些例子。
添加“重写规则”的.htaccess文件(服务器配置文件),可以允许服务器的方式来改变服务器的文件/文件夹进行访问
//probably what the rewrite looks like of the example you provided
RewriteRule .* example.php/$0 [L]
的RewriteRules被分成4块:动作,模式,重写和标志
行动:重写规则,实质上就是让服务器知道我们将要进行重写
模式:*是我们在这个例子中的图案。 的“” 代表任意字符,这意味着匹配任何字符,“*”告诉它重复此。 所以,匹配重写后的任何字符。
重写是执行此页面,所以使用example.php是重写。 在这个“$”告诉它从哪里开始重写。 因此,我们将开始在“$”符号的重写,并使用我们的模式。 我们的模式“ *”告诉我们,以匹配任何字符,在这种情况下,红色。
在[L]是指最后的规则。 就是这样,没有规则可循。 您可以使用多个重写规则的多个页面。
所以,现在,而不是使用使用example.php?ID =红,服务器现在知道后启动“使用example.php /”,以配合我们提供的任何字符。