我想在 php 中构建一个 mvc 框架,但我想要像 page1/sub-page-1/sub-page-sub-page-1/ 这样的 url 怎么做?因为通常如果你构建一个 MVC 框架 url 会像控制器/动作/参数?
因此,如果我有一个名为 blog 的页面,还有一个名为 blog 的控制器,那么这些都不会相互冲突。
我想在 php 中构建一个 mvc 框架,但我想要像 page1/sub-page-1/sub-page-sub-page-1/ 这样的 url 怎么做?因为通常如果你构建一个 MVC 框架 url 会像控制器/动作/参数?
因此,如果我有一个名为 blog 的页面,还有一个名为 blog 的控制器,那么这些都不会相互冲突。
我认为您应该使用包含类似内容的 .htaccess 将所有流量重定向到 index.php:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
在 index.php 之后,您必须解析 URL,如下所示:
$url = $_SERVER["REQUEST_URI"];
使爆炸,parseUrl,...
您需要自己生成和管理这些 URL。如果您使用 Apache,您可以在 .htaccess 文件中建立一个重写规则,以便 modrewrite 将每个请求重定向到 index.php,因此解析 index.php 中的 url 包括应该运行的代码。
您可以查看 JOOMLA 源代码,特别是 JRoute 类。