2014-01-17 2 views
3

У меня установлен CodeIgniter на GoDaddy в подкаталоге, URL-адрес является http://westlinebuilders.com/westlinecrm/Не указан входной файл. Ошибка CodeIgniter на GoDaddy

страница Войти открывается нормально, но когда я нажимаю на кнопку входа или если я получить доступ к любой другой контроллер, он показывает мне Нет входа файл указан. У меня нет файла .htaccess внутри каталога westlinebuilders.com/westlinecrm, я попытался создать новый файл htaccess и поместил его в каталог westlinecrm и последовал инструкциям о том, как исправить ошибку ввода файла с помощью google search, но пока не повезло, может кто-нибудь, пожалуйста, помогите мне в этом?

мой код контроллера verifylogin.php является

<?php if (! defined('BASEPATH')) exit('No direct script access 
allowed'); 

class VerifyLogin extends CI_Controller { 

    function __construct() { parent::__construct(); 
$this->load->model('user','',TRUE); } 

    function index() { //This method will have the credentials 
validation $this->load->library('form_validation'); 

    $this->form_validation->set_rules('email', 'Email', 'required'); 
$this->form_validation->set_rules('password', 'Password', 
'trim|required|xss_clean|callback_check_database'); 

    if($this->form_validation->run() == FALSE) { 
     //Field validation failed.&nbsp; User redirected to login page  $this->load->helper('url'); 
     $this->load->helper('html'); $this->load->view('templates/header'); 
     $this->load->view('templates/menu'); 
     $this->load->view('client/loginform');  $this->load->view('templates/footer'); } else { 
     //Go to private area 
     redirect('summary', 'refresh'); } 

    } 

    function check_database($password) { //Field validation 
succeeded.&nbsp; Validate against database $username = 
$this->input->post('email'); 

    //query the database $result = $this->user->login($username, 
$password); 

    if($result) { 
     $sess_array = array(); 
     foreach($result as $row) 
     { 
     $sess_array = array(
      'id' => $row->id, 
      'email' => $row->email1 
     ); 
     $this->session->set_userdata('logged_in', $sess_array); 
     } 
     return TRUE; } else { 
     $this->form_validation->set_message('check_database', 'Invalid username or password'); 
     return false; } } } ?> 
+0

мы можем видеть ваш код контроллера 'verifylogin'? – user2936213

+0

И ваш основной каталог также содержит проект Codeigniter? – user2936213

+0

Нет, мой основной каталог содержит Wordpress Website –

ответ

-1

http://westlinebuilders.com/westlinecrm/index.php/verifylogin

ваш URL метод синтаксического анализа wrong.try использовать

http://westlinebuilders.com/westlinecrm/verifylogin

почему у не использовать простой .htaccess код ...

RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /westlinecrm/index.php?/$1 [L] 

Другой вопрос, на ваш code..Applying комментарий был неправ

function index() { //This method will have the credentials 
    validation $this->load->library('form_validation'); 

правильный путь

function index() { //This method will have the credentials 
    validation  
    $this->load->library('form_validation'); 
+0

его URL-адрес верен, если он не удалил index.php через .htaccess – user2936213

+0

да, я не удалил index.php через .htaccess –

+0

, почему бы вам не попробовать создать простой .htaccess код –

1

Я сделал свою работу, используя следующие правила .htaccess

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /crm/ 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteRule ^index.php/(.*)$ [L] 
</IfModule> 

и я создал поддомен, переименовал все файлы файлов с первым символом в нижний регистр, теперь его рабочий

1

Перезапишите содержимое вашего файла .htaccess в корневой папке вашего проекта с этим.

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

Это исправит это. В большинстве случаев это вызывает csrf. Я считаю, что вы установили его в TRUE в вашем файле конфигурации.

Сообщите мне, если он сейчас работает.

+0

исправляет мою проблему, спасибо большое. –

6

Я запускаю codeignitor в субдомене в godaddy. Я попробовал все вышеперечисленные решения. Но это не сработает. Для меня проблема RewriteRule.

RewriteRule, что делает проблему

RewriteRule ^index.php/(.*)$ [L] 

Исправленная RewriteRule

RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 

Так работает .htaccess код ниже.

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 
</IfModule> 
+0

Опция '[QSA, L]' работала для меня на сервере Godaddy с CI 3. –

Смежные вопросы