我正在尝试构建一个类似 mvc 的应用程序,但我无法找出我需要的正确的 .htaccess。
我想要这样的东西:
RewriteRule ^(.*)/(.*)/(.*)$ $1.php?action=$2&n=$3 [L]
这样我就可以访问包含正确 Controller 的文件和来自 URL 的两个获取变量。上面的代码不起作用,我已经解决这个问题两天了,但我在任何地方都找不到我需要的东西。发生的情况是,url 上需要 3 个变量才能工作,但这不是我想要的。有什么建议吗?
最佳答案
大多数框架使用 Front-Controller而不是 mod_rewrite
。该 Controller 相应地分割 URL 和路由。
虽然不是唯一的解决方案,但这更灵活。考虑一下您何时拥有 URL plugin/controller/view/id
或 controller/view/param1/param2
。
如果您想采用 Front-Controller 架构,我建议使用 FallbackResource
来保持 htaccess 文件精简。
FallbackResource /front-controller.php
从那里开始,使用 parse_url()
等函数分割 url 应该相当简单。 .
关于php - .htaccess 带有 MVC 应用程序 Controller 名称的重定向 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532235/