我有一些问题
This website contains a loop of redirects
我构建了一个专有的MVC,其中我使用了一个动态mod_rewrite,它从存储在文件router.php中的数组中读取
我有目录和文件的结构:
.htaccess
wwwroot
--router.php
--index.php
--login.php
--ajax.php
我的router.php
'router' => array(
array(
'/',
array('controller' => 'Start', 'action' => 'dashboard'),
array('methods' => 'GET,POST', 'name' => '/' )
), // dashboard
array('/login', array('controller' => 'Login', 'action' => 'loginForm'), array('methods' => 'GET,POST', 'name' => 'form-login')),
array('/message/lista/', array('controller' => 'message', 'action' => 'messageList'), array('methods' => 'GET', 'name' => 'message_list')),
array('/message/add/', array('controller' => 'message', 'action' => 'createMessage'), array('methods' => 'POST,GET', 'name' => 'message_add')),
array('/message/lista/:page', array('controller' => 'message', 'action' => 'list'), array('methods' => 'GET', 'name' => 'message_list', 'filters' => array('page' => '(\d+)')))
档案.htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?system.domain.com$ [NC]
RewriteCond %{REQUEST_URI} !wwwroot/
RewriteRule (.*)$ wwwroot/ [L]
RewriteRule ^login(/)?$ wwwroot/login.php [L,NC,QSA]
RewriteRule ^(.*)(/)?$ wwwroot/index.php [NC,L]
文件index.php
...
<!-- you are not logged in -->
if (UserSession::validLogin() != true) {
$logoutUrl = 'login'; // redirect to a log file url http://wwww.system.domain.com/login
header('Location: ' . $logoutUrl );
exit();
} else {
<!-- read the url and redirect to the class
eg. http://wwww.system.domain.com/task/add -->
}
...
当我打开http://system.domain.com时,我看到了这条消息
This website contains a loop of redirects
如果在index.php中调用此脚本块来检查用户是否已登录,则页面正确加载(如果我手动键入地址) ? http://system.domain.com/message/add? 当您取消注释这段代码时,问题就开始了
在htacces中,如果没有地址/登录,我甚至尝试输入index.php文件加载时间 文件.htaccess
This website contains a loop of redirects
不幸的是对我不起作用:(问题是我不知道如何强制重新加载文件index.php或login.php,以便当他使用“标题”不循环时。
任何人都可以帮助我吗?