2016-02-04 2 views
1

Я пробовал каждое решение, которое я нашел здесь, при переполнении стека, но без успеха.Codeigniter удалить index.php - htaccess localhost

Я бегу

  • XAMPP v3.2.1 на
  • Win 8.1 и
  • Codeigniter 3.0.4

С последней версии Smarty 3. Все, что работает отлично до тех пор, пока я не попытаюсь удалить «index.php» из URL-адресов.

config.php

$config['base_url'] = 'localhost'; 

$config['index_page'] = ''; 

routes.php

$route['default_controller'] = 'home'; 

$route['contact'] = 'contact'; 

.htaccess

<IfModule authz_core_module> 
    Require all denied 
</IfModule> 
<IfModule !authz_core_module> 
    Deny from all 
</IfModule> 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    # !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading 
    # slashes. 
    # If your page resides at 
    # http://www.example.com/mypage/test1 
    # then use 
    # RewriteBase /mypage/test1/ 
    RewriteBase /responsive_template/ 
    RewriteEngine on 
    RewriteCond $1 !^(index\.php|images|robots\.txt) 
    RewriteRule ^(.*)$ /index.php/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    # If we don't have mod_rewrite installed, all 404's 
    # can be sent to index.php, and everything works as normal. 
    # Submitted by: ElliotHaughin 

    ErrorDocument 404 /index.php 
</IfModule> 

Apache 'LoadModule г ewrite_module модули/mod_rewrite.so 'включен

<Directory /> 

    AllowOverride all 

    Require all denied 

</Directory> 

Если я получить доступ localhost/responsive_template/index.php/contact все работает отлично, только localhost/responsive_template/contact заканчивается 404 и это все.

Вся папка приложения CodeIgniter находится в подкаталоге «responsive_template» под c:\xampp\htdocs

Спасибо за любую помощь, ребята, очень высокую оценку.

BR Дэвид

ответ

2

я нахожу с XAMPP и WAMP это использование Htaccess полностью.

Options +FollowSymLinks 
Options -Indexes 
DirectoryIndex index.php 
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

сделать вы поместите файл Htaccess из стороны главной папки приложения.

Установите базовый URL некоторые вещи, как

$config['base_url'] = 'http://localhost/project/'; 
$config['index_page'] = ''; 

Примечание: Вы можете оставить базовый URL пустым, но несколько раз, когда вы отправите форму, вы найдете не может подать правильно.потому что он показывает ip_adress в URL вместо localhost

Каталог

application 

system 

.htaccess 

index.php 

С CodeIgniter 3 версии убедитесь, также у вас есть класс и файл имена первой буквы в верхнем регистре. Имя

файла Пример: Welcome.php

<?php 

class Welcome extends CI_Controller { 

    public function index() { 

    } 
} 
+0

работал как очарование! большое спасибо! :) – user3395711

0

Вы должны попробовать это:

------------------------------------ config.php ---------------------------- 

    $config['base_url'] = ''; 
    $config['index_page'] = ''; 
    $config['uri_protocol'] = 'REQUEST_URI';// if this will not work. comment this line and remove comment from below line 
// $config['uri_protocol'] = 'AUTO'; 

---------------------------------- .htaccess ----------------------------- 

    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule .* index.php/$0 [PT,L] 

Примечание: - убедитесь, что ваш файл .htaccess находится в корневом каталоге. В каталоге responsive_template с файлом index.php.

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