php - .htaccess 带有 MVC 应用程序 Controller 名称的重定向 url

标签 php .htaccess mod-rewrite url-rewriting

我正在尝试构建一个类似 mvc 的应用程序,但我无法找出我需要的正确的 .htaccess。

我想要这样的东西:

RewriteRule ^(.*)/(.*)/(.*)$ $1.php?action=$2&n=$3 [L]

这样我就可以访问包含正确 Controller 的文件和来自 URL 的两个获取变量。上面的代码不起作用,我已经解决这个问题两天了,但我在任何地方都找不到我需要的东西。发生的情况是,url 上需要 3 个变量才能工作,但这不是我想要的。有什么建议吗?

最佳答案

大多数框架使用 Front-Controller而不是 mod_rewrite。该 Controller 相应地分割 URL 和路由

虽然不是唯一的解决方案,但这更灵活。考虑一下您何时拥有 URL plugin/controller/view/idcontroller/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/

相关文章:

php - 无法检查用户名是否存在

php - MySQL 模组与 PHP 模组

php - yii2 中的分页按钮限制

php - Google 搜索字词 - 包含搜索内容的着陆页

wordpress - 允许多个 IP 通过 .htaccess 访问 Wordpress Site Admin

php - 将 url service.php?p_id=1&s_id=4 重写为 service/seo

apache - mod_rewrite 似乎忽略了 [L] 标志

regex - 301 将旧网址重定向到移动网站中的新网址

.htaccess - 网站不会使用 Codeigniter 加载没有尾随/后 URL 的 CSS 或图像

.htaccess - 如何在 WampServer 中配置 CakePHP 的 .htaccess 文件?