可能重复:
国防部重写和查询字符串
我知道通过在URL参数的唯一方法是使用PHP的GET方法。 但是我看到很多网站使用的是什么似乎是直接参数的URL,就像这样:
http://.../page/2/
在这种情况下,是“页”真正的参数? 如果是这样,它是如何在代码中处理?
或者,这是一个目录“2”位于目录“页”的正规网址? 这一切意味着,只要创建一个新的职位,该网站创建的所有页面和相应的目录?
谢谢
可能重复:
国防部重写和查询字符串
我知道通过在URL参数的唯一方法是使用PHP的GET方法。 但是我看到很多网站使用的是什么似乎是直接参数的URL,就像这样:
http://.../page/2/
在这种情况下,是“页”真正的参数? 如果是这样,它是如何在代码中处理?
或者,这是一个目录“2”位于目录“页”的正规网址? 这一切意味着,只要创建一个新的职位,该网站创建的所有页面和相应的目录?
谢谢
这就是所谓的URL重写。 基本上,这意味着你使用Apache模块重写传入的URL到新的网址,然后由阿帕奇处理
在您的例子http://www.test.com/page/2/
很可能改写成类似http://www.test.com/?page=2
。
如果您搜索的Apache URL互联网重写你会得到足够的结果解释你如何能做到这一点。
这些都是惯例。 GET参数不是专门针对PHP,这是所有浏览器如何编码格式的数据。 基于Java的web应用例如使用分号分隔的参数。
你可以写一个简单的层转换?alpha=1&beta=2
至/alpha/1/beta/2
,但IW tould只是一个噱头便宜(除了极少数合法情况下,像在squid缓存)。
你今天的网站做的是使用一个单一入口点模式。 通常与Apache的mod_rewrite
,所有的请求都被处理index.php
,有一个路由设备来选择特定的URL方案的适当处理PHP文件。 这些方案可以通过正则表达式来容易定义。
所以,这一切的一切,你决定你的网址是怎么回事的样子。 这不是一件容易的事,有很多SEO蛇油推销员那里谁会让你做各种疯狂的事情。 有什么好URL实际上是找出你的服务中内容(文档),你必须使用整个服务,单个URL来解决它。
而且不要忘了:冷静的URL不会改变。 您将在2年内放弃当前的代码库,并从地上爬起来重建您的网站。 设计在某种程度上是有道理的观点,这也不是依赖于你的web应用设计的逻辑点的URL方案。
你给的例子仍是一个GET请求。
你所寻找的是URL重写 。