子文件夹路由无法正常工作

时间:2013-01-28 08:35:47

标签: php codeigniter

我在处理文件时遇到问题。我需要访问new_account子文件夹及其中的控制器......

这是结构:

controllers
---new_account
---------step1.php
---------step2.php
---accounts.php 
---pages.php

这是位于.htaccess

之外的application文件的内容
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L] 

这是我的routes.php

$route['default_controller'] = 'pages/show_page/home';
$route['pages/(:any)'] = 'pages/show_page/$1';
$route['accounts'] = 'accounts';
$route['new_account/(:any)'] = "new_account";
$route['(:any)'] = 'pages/show_page/$1';
$route['404_override'] = '';

我也使用$config['uri_protocol'] = 'REQUEST_URI';

我的pages控制器工作正常,即使是直接链接,例如<?php echo base_url(); ?>home重定向到../pages/home.php

accounts.php控制器调用new_account/user_home.php,其中包含指南和实际表单的链接。该链接为<?php base_url();>new_account/step1,由于$route['new_account/(:any)'] = "new_account";而无法使用该链接。

每当我点击new_account/step1的链接时,我都会被重定向到主页。

我真的想要访问app_name/new_account/step1和目录中的其他人...我是否遗漏了这些文件中的内容或一个完整的步骤?

注:

我还在MY_Router.php文件夹中插入application/libraries但尝试this subfolder routing extension但未发生任何更改。然后我将其移至application/core但我得到的只是服务器错误。

1 个答案:

答案 0 :(得分:0)

routes.php

中注释这一行
$route['new_account/(:any)'] = "new_account";

Codeigniter默认路由应该适用于http://YOUR_SITE/new_account/step1因为您在文件夹step1.php内有一个名为new_account的控制器文件。另请检查step1.php中控制器类的名称是否为Step1