2014-09-02 2 views
0

У меня возникла проблема с моей маршрутизацией в проекте Codeignitor. На самом деле я создал папку администратора под контроллера, вид и модель для доступа к администратору section.And мой routes.php файл, как показано ниже:Codeignitor Routing

$route['default_controller'] = "admin/login"; 
$route['admin/(:any)'] = "admin/admin/$1"; 
$route['404_override'] = ''; 

При нажатии на кнопку отправки страницы входа в систему он перенаправляет на той же странице входа. Действие, в котором оно должно фактически идти, не перенаправляет туда. Пожалуйста, помогите мне.

+0

Вы не должны действительно использовать [код воспламенитель] (http://www.scribd.com/doc/148943699/CodeIgniter-Sucks) –

+0

Что такое код запала? –

+0

Что такое действие формы, которую вы создали? –

ответ

0

В routes.php файле:

$route['default_controller'] = "your default controller"; 
$route['404_override'] = ''; 

В HTAccess

#Options +FollowSymlinks 
#RewriteEngine on 
# 
#RewriteCond $1 !^(index\.php|assets|uploads|tt|resources|robots\.txt|favicon\.ico) 
#RewriteRule ^(.*)$ /index.php/$1 [L] 


RewriteEngine on 
RewriteCond $1 !^(index\.php|cronDailyProof\.php|cronWeeklyProof\.php|cronMonthlyProof\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L,QSA] 
DirectoryIndex index.php 

Эти два изменения решить мою проблему.

0

проверить форму бирка. может быть, у него есть действие. и ваша кнопка типа возможно представить пожалуйста, удалите и проверьте снова

+0

Я пробовал, как вы сказали ... но все равно его не работает .. – chirag

0

Если вы хотите использовать другой экземпляр CI в проекте затем сохранить его в папке проекта, как указано ниже:

/project 
    /application 
    /admin 
    /system 

В вашей админ вы должны иметь другой проект CI, из которого вы создадите свою панель администратора.

/project/admin 
     /application 
     /system 

Вы можете настроить свою конфигурацию и маршрутизацию и все, что захотите, из любого вашего проекта по своему желанию.

Надеюсь, что это поможет.

+0

Это правильное решение ... но я, когда я изменил файл route.php и файл htaccess. Затем мой проект работал отлично, без нижеследующий выше папка структура. – chirag

+0

, который может работать нормально ... но это не standrd, так как когда вы создадите более крупный проект с большим количеством файлов, то вполне возможно, что вы потеряете трек. Поэтому лучше организовать свои файлы правильно. Существует еще одно решение, которое следует за hmvc .... где в одном экземпляре CI вы можете иметь несколько модулей. Под каждым модулем вы можете создать желаемую функциональность.Например, у вас может быть модуль с именем «frontend» и другой с именем «admin» –

+0

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc и http://code.tutsplus.com/tutorials/hmvc- a-introduction-and-application - net-11850 ... прочитайте это ... u'll найдет hmvc очень увлекательным ....: D –

0

в route.php

$route['default_controller'] = "home"; 
$route['404_override'] = 'errors'; 
$route['admin'] = 'admin/login'; 

и HTAccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 
rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L] 

эти изменения решить эту проблему для меня

0

Если у вас следовать за default_controller домашнего контроллера работает, то работает домашний контроллер и не доступна страница, а затем работает pagenotfound controller. на моей странице по умолчанию, чтобы перейти на страницу входа в систему, нажав кнопку входа в систему. затем follw как этот

<?php 
        $attributes = array("class" => "form-horizontal", "id" => "loginform", "name" => "loginform"); 
        echo form_open("login/index", $attributes); 
       ?> 
//login button like this and its working 
<button type="submit" name="btn_login" id="btn_login" class="btn btn-default" value="Login"><?php echo lang('Login'); ?></button> 
<?php echo form_close(); ?> 

My Route.php file 

$route['default_controller'] = 'home'; 
$route['404_override'] = 'pagenotfound'; 
$route['translate_uri_dashes'] = FALSE; 

My .htaccess file 

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(index\.php|admin|js|css|images|assets|uploads|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L]