2015-05-16 2 views
1

Удаление index.php в CodeIgniter с использованием файла .htaccess не работает для меня. Я пробовал следующий код, хотя и не работал.CodeIgniter Удаление index.php с использованием файла .htaccess

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/
RewriteCond $1 !^(index\.php|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA] 
</IfModule> 

Я пробовал это http://firstcode.info/codeigniter-removing-index-php-from-url/. Но не работает. Но он работает в моем локальном хосте. Я также редактировал файл httpd.config. Но не использовать. Пожалуйста, помогите мне.

+0

Нашел, https://github.com/riwakawebsitedesigns/htaccess_for_codeigniter может использовать полный имеет различный HTAccess для вас попробовать. – user4419336

+0

Thankyou Я получил решение – Alekhya

+0

Пока вы не научитесь читать файлы apache, google для «far in space codeigniter htaccess». Самый полезный пример, который вам может понадобиться, и лучший, который я нашел до сих пор. – Tpojka

ответ

0

Попробуйте этот код

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    #Removes access to the system folder by users. 
    #Additionally this will allow you to create a System.php controller, 
    RewriteCond %{REQUEST_URI} ^system.* 
    RewriteRule ^(.*)$ /index.php/$1 [L] 

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

<IfModule !mod_rewrite.c> 
    ErrorDocument 404 /index.php 
</IfModule> 

В моем config.php файла Ihave следующих параметров.

$config['index_page'] = ""; 
$config['uri_protocol'] = "PATH_INFO"; 
+0

Спасибо за ответ, я исправился – Alekhya

1

ШАГ 1

Откройте папку “application/config” и откройте файл “config.php“. найти и заменить приведенный ниже код в config.php file.

найти код ниже

$config['index_page'] = "index.php" 

replace with the below code 

$config['index_page'] = " 

ШАГ 2

Написать ниже код в файле .htaccess

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

ШАГ 3

“application/config/config.php“, затем найдите и замените код ниже

найти код ниже

$config['uri_protocol'] = "AUTO" 

replace with the below code 

$config['uri_protocol'] = "REQUEST_URI" 
+0

Я уже пробовал вышеуказанный код. Я получаю ошибку внутреннего сервера – Alekhya

+0

. Пожалуйста, внесите свою ошибку, чтобы определить проблему. – Saty

+0

Спасибо, что ответ исправил: – Alekhya

1

Вышеупомянутый код верен.

Вы должны изменить apache2.conf (/etc/apache2/apache2.conf --- его путь к моим серверам), проверьте свой путь.

Найти этот преступник "AllowOverride None" и /var/www/ или /var/www/html

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Require all granted 
</Directory> 

обновление

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride All 
     Require all granted 
</Directory> 

Не забудьте sudo service apache2 restart

+0

/var/www/also important. Этот путь к вашему рабочему каталогу должен быть правильным –

+0

Спасибо за ответ, я исправился – Alekhya

0

Пожалуйста, попробуйте изменить базовый URL, а также в config.php, При использовании localhost или domainname.com

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

ИЛИ

$config['base_url'] = 'http://domainname.com/'; // domainname.com 
Смежные вопросы