【问题标题】:How do extended urls work扩展网址如何工作
【发布时间】:2011-10-21 12:49:41
【问题描述】:

我知道这些类型的 URL 是如何加载页面的……基于它们的 GET 参数。

http://www.bedupako.com/songs.php?page=show_song_details.php&songid=1167&n=0&back=no

在后端大致是这样的:

<?php
switch($_GET['page']) {
case 'xx': include('my page');break;
.
.
.
default: include('default');break;
}
?>

但是这些类型的 URL 是如何工作的呢?我的意思是,数据是如何动态加载的?

www.dummysite.com/parm/subpage1/xyz
www.dummysite.com/parm/subpage2/xyz

如何解析这些类似于 GET 参数的网站?

【问题讨论】:

    标签: php url url-rewriting


    【解决方案1】:

    您可以按照其他人的建议单独使用 mod_rewrite,但大多数网站不这样做,因为它不是很灵活,并且如果您有多个这样的“漂亮”网址,维护起来可能会很烦人。

    相反,他们设置了一个基本的重写规则,将所有内容转发到单个 index.php,然后在应用程序端,他们根据定义的模式解析 URI——这些被称为“路由”。路由解析通常发生在某种路由类中,它处理定义的路由并将它们与 URI 进行比较,然后在找到匹配项时解析出匹配路由的参数。

    这些都提供了很好的路由器示例,但是如果没有其他交互类,它们就很难理解:

    【讨论】:

      【解决方案2】:

      如果你使用 apache,你应该看看http://httpd.apache.org/docs/2.0/misc/rewriteguide.html url rewriting(很可能)

      【讨论】:

        【解决方案3】:

        在大多数情况下,这将由网络服务器根据一组规则即时处理。它的细节会因服务器和具体情况而异。在 Apache 中,它通常使用 the mod_rewrite extension 来完成。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-04-08
          • 2018-01-21
          • 1970-01-01
          • 2019-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多