如何在PHP中实现URL路由
如何在PHP中实现URL路由。首先,您需要启用Apache(我假设您的Web服务器是Apache)如何在PHP中实现URL路由,php,frameworks,standards,url-routing,Php,Frameworks,Standards,Url Routing,如何在PHP中实现URL路由。首先,您需要启用Apache(我假设您的Web服务器是Apache) 然后,您需要创建一个重写规则,将所有内容重定向到index.php页面。 这样做可以: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php 它会将每个请求重定向到index.php中不存在的文件;这意味着,如果请求的URL是www.example.com/blah,那么实际上将调用ind
然后,您需要创建一个重写规则,将所有内容重定向到index.php页面。
这样做可以:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
它会将每个请求重定向到index.php中不存在的文件;这意味着,如果请求的URL是www.example.com/blah,那么实际上将调用index.php
关于这一点,这里有几个链接可以提供帮助:
然后,该页面必须根据调用的初始URL或接收到的参数来确定必须显示的内容 这可以通过使用来实现,例如,它是在大多数现代PHP框架中实现的
在这一问题上存在着许多问题;其中一些(以及他们的答案)可能会对你有所帮助。例如:
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
然后在代码中执行此操作,您可以使用,方法是使用一组正则表达式,这些正则表达式与某些代码匹配,然后通过header()或仅在内部重定向。可能的重复:。试着看看这个问题。事实上,可能是一式三份=)要么是他们在一起工作,要么是一个袜子傀儡帐户。看这个教程,这应该是这个问题的标准答案。它适用于在Apache上运行的任何服务器端语言,而且成堆的重写规则也不是特别可持续的。