编程语言
首页 > 编程语言> > php-扩展网址如何工作

php-扩展网址如何工作

作者:互联网

我知道这类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 param这类网站?

解决方法:

您可以像其他人建议的那样单独使用mod_rewrite,但是大多数站点不这样做,因为它不太灵活,如果您有多个“漂亮” URL,那么维护起来会很烦人.

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

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

> Zend:Zend_Controller_Router_Rewrite
> Symfony:sfPatternRouting
>蛋糕:Router
> CodeIgniter:CI_Router

标签:url,php,url-rewriting
来源: https://codeday.me/bug/20191102/1990642.html