如何实现URL路由在PHP(How to Implement URL Routing in PHP)

2019-07-03 11:53发布

如何实现URL路由在PHP。

Answer 1:

如果您使用Apache,你可以做的URL用mod_rewrite路由。

小例子:

RewriteEngine On
RewriteRule ^(dir1)/?(path2)? main.php?dir=$1&path=$2

这将有喜欢的任何请求

http://yoursite.com/dir1/path1 

通过服务

http://yoursite.com/main.php?dir=dir1&path=path2

更多的例子在这里 。

另一种方法都有每个请求重定向到一个单一的PHP文件

RewriteEngine On
RewriteRule (.*) main.php?request=$1

然后做它的代码,在那里你可以使用类似的方法 ,通过具有一组由一些代码匹配,然后通过头()或只是内部重定向的正则表达式。



Answer 2:

首先,你需要Apache的(我想你的服务器是Apache)的 mod_rewrite启用。


然后,你需要创建一个重写规则重定向一切index.php网页。
像这样的东西可以这样做:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php 

它会重定向每一个请求到一个不存在的index.php到一个文件; 这意味着,如果请求的URL是www.example.com/blah,它实际上是index.php文件将被调用。

关于,这里几个环节,可以帮助:

  • URL重写指南
  • mod_rewrite的:一个初学者指南URL重写


然后,这个页面已经确定什么必须显示,这取决于初始网址被称为 - 或者收到什么参数。

这可以通过使用来完成设计模式前端控制器 ,例如-它在最现代的PHP框架来实现,例如。


目前已经对SO这个问题的许多问题; 一些人(和他们的答案)的可能会帮助你。 例如 :

  • 我该怎么做URL重写PHP中?
  • 在PHP中的URL映射?
  • PHP应用程序URL路由


文章来源: How to Implement URL Routing in PHP