我正在使用MVC模式实现PHP应用程序。当时应用程序真的处于开始阶段(只是为了验证所有应用程序是否按预期运行)但问题是:
以常见的index.php
文件(应用程序的入口点)开头的网站(通过URL http://localhost/www/whours.com/
)不会将任何参数显示为查询字符串。
因为我需要起始URL以whours.com/
之后的用户友好方式显示默认控制器和操作,所以我尝试在index.php
中实现重定向,以连接默认控制器和操作名称。
重定向后,页面将联系类Application
,然后联系路由类。
但是,重定向无法按预期工作,并且URL仍为:
localhost/www/whours.com/
相反,我想获得:
localhost/www/whours.com/login_controller/noAuth/
您是否知道如何在入口点页面实现此功能?
仅为了您的信息,应用程序正在执行此操作:
在index.php
中设置自动加载器,导入所有配置(主要是一系列定义),实例化Application
类,然后调用方法运行。
方法运行将实例化并调用解析URL的路由器并联系控制器。控制器将联系模型(如果需要 - 当然,如果用户尚未通过身份验证,则不会联系任何模型)和视图以呈现正确的页面。但是目前没有URL可以被解析,因为我无法在页面启动时获得带有URL中参数的URL。
下面是我的索引代码(如果可能的话):
// Getting the absolute root path
define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
include_once("App/Core/Config/config.php");
include_once(CORE_PATH . DIRECTORY_SEPARATOR . "Include/autoloader.php");
$app = new Application();
if (!isset($_SESSION['Initialized']))
{
$_SESSION['Initialized'] = 1;
header('location: ' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] . '/login_controller/noAuth');
}
$app->run();
你能不能帮助我知道获取网址:
localhost/www/whours.com/login_controller/noAuth/
当用户联系该网站时?
我尝试使用标题重定向但没有成功。