我正在PHP应用程序中开发一个客户FrontController。我需要通过FrontController路由所有URL调用。
假设某人在浏览器上输入了以下网址,
http://www.mydomain.com/view/pages/admin/stock-maintenance.php
我需要通过我的FontController.php进行路由并将所有必要的数据提取到该特定页面
我将FrontController.php放在以下目录中,目前编写它是为了捕获其他请求,例如以下列方式提交表单提交和超链接点击
http://www.mydomain.com/control/FrontController.php
if (isset($_REQUEST['stock-quick_search'])) {
$view = PAGES.'user/stock-search-list.php';
}
elseif (isset($_REQUEST['stock-manage_stocks'])) {
$view = PAGES.'admin/stock-maintenance.php';
}
如何使用.htaccess文件通过我的控制器捕获和路由直接页面URL调用?
注意:我是PHP的新手,我对.htaccess文件编码知之甚少
提前致谢
答案 0 :(得分:0)
最好的方法是使用.htaccess
文件通过Apache服务器定义URL重写。另一种方法是将REQUEST_URI
和explode
放到一个数组中,接下来你可以检查每个部分。但我说的第一个解决方案比这个更好。
答案 1 :(得分:0)
我认为了解如何完成此操作的最佳方法是检查其他框架(例如Zend Framework)。他们使用mod_rewrite
将所有请求转发到特定的PHP文件。检查http://framework.zend.com/manual/en/zend.application.quick-start.html(搜索RewriteEngine
)。
我假设如果您不熟悉.htaccess
,您也不熟悉Apache HTTP服务器。所以我建议你查看官方文档。一旦您了解服务器的工作原理,就可以很容易地使用其配置(包括.htaccess
)。
顺便说一下。 mod_rewrite
文档在http://httpd.apache.org/docs/current/mod/mod_rewrite.html
始终检查您正在阅读的版本! MahanGM在其他答案中链接到过时的文档(版本1.3)!