PHP中的URL模式匹配

PHP中的URL模式匹配,php,.htaccess,url-routing,Php,.htaccess,Url Routing,我试图在php中实现类似java的url模式匹配。假设我有一个链接,它指向一个名为find.php的文件(示例如下所示) 然后我想向用户公开下面的链接 然后我想使用一个控制器将这个(第二个url模式)url与我在上面提供的(第一个url模式)url进行匹配。这是因为我想向用户隐藏确切的uri模式,还想隐藏我使用的扩展 请帮帮我,伙计们 问候,, Ablash如果您使用apache(我假设您使用的是您标记的.htaccess)作为http服务器,那么您可以使用apache的Mod_Rewrit

我试图在php中实现类似java的url模式匹配。假设我有一个链接,它指向一个名为find.php的文件(示例如下所示)

然后我想向用户公开下面的链接

然后我想使用一个控制器将这个(第二个url模式)url与我在上面提供的(第一个url模式)url进行匹配。这是因为我想向用户隐藏确切的uri模式,还想隐藏我使用的扩展

请帮帮我,伙计们

问候,, Ablash

如果您使用apache(我假设您使用的是您标记的
.htaccess
)作为http服务器,那么您可以使用apache的Mod_Rewrite模块。目前,它通常随大多数Apache安装一起提供,如果没有,您可以自己安装一个

Mod_Rewrite将使您能够实现您的愿望,事实上,它只是为这个目的而设计的。虽然像CodeIgniter这样的php框架为Mod_Rewrite提供了一些编程支持,但是直接使用
.htaccess
使用Regex将使您拥有更强大的功能和灵活性


这里很难完全解释。但是当我学习同样的东西时,我发现很方便

修改?[谢谢您的回复,先生。但是如果我说*并将所有控件重定向到控制器,然后如果我使用标头()功能我仍然会显示文件名。我想完全隐藏文件名。还有什么可以做的吗?但是你的控制器如何区分一个
*
和另一个
*
?还要注意,通过像你这样干净的url,你的网站不仅“谷歌”友好,而且更加直观对于用户来说,添加到UX和Mod_重写是很简单的,如果你能克服最初的障碍。网上有很多,甚至可能更简单的教程。我计划将每个请求重定向到控制器(前端控制器),然后根据请求做出决定。因此我将使用pregmatch()对于uri匹配和重定向头(),我仍然会显示文件名。因此我认为我可以通过在.htaccess文件中对每个url模式进行匹配来克服这一问题。但这会使.htaccess文件变大。这会影响性能吗?