2016-09-22 2 views
2

Я пытаюсь удалить «index.php» из url в Codeigniter. Я знаю, как удалить index.php из базового url, как это example.com/controller.codeigniter удалить index.php form url

Но я не знаю, как удалить «index.php» в подпапке как example.com/folder/index.php/controller

Потому что у меня есть к различным проектам в CodeIgniter. поэтому второй проект, который я загрузил в подпапку.

.htaccess

#original 
#RewriteEngine on 
#RewriteCond $1 !^(index\.php|images|robots\.txt) 
#RewriteRule ^(.*)$ index.php/$1 [L] 

#modify 
RewriteEngine on 

RewriteCond $1 !^(index\.php|resources|robots\.txt) 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

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

RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

выше программа для базового URL. Итак, что я буду менять в этой программе, он будет работать в подпапке.

ответ

0

Написать этот код в ваш файл .htaccess

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /folder/index.php [L] 
</IfModule> 

# END WordPress 

Пример: example.com/folder/index.php/ contorller

после выше коды не нужно писать index.php

это работает ..

+0

спасибо ... это работает – joy

+0

ваш приветствуем .... – Gagan

0

Обновить эту переменную в config.php $config['index_page'] = '';. Удалить index.php

+0

Это само по себе не приведет к удалению index.php из вашего URL, вам нужно будет использовать некоторые формы mod_rewrite, такие как ht чтобы файл был правильно удален. – killstreet

0
`Step:-1 Open the file config.php located in application/config path. Find and Replace the below code in config.php file. 

// Найти приведенный ниже код

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

// Удалить index.php

$config['index_page'] = "" 

Шаг: -2 Перейдите в папку CodeIgniter и создать файл .htaccess.

Путь:

Your_website_folder/ 
    application/ 
    assets/ 
    system/ 
    user_guide/ 
    .htaccess <--------- this file 
    index.php 
    license.txt 

Шаг: -3 ​​Написать ниже код в файле .htaccess

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

Шаг: -4 В некоторых случаях настройка по умолчанию для uri_protocol не работает должным образом. Для того, чтобы решить этот вопрос просто открыть файл config.php, расположенный в приложении/конфигурации, а затем найти и заменить код, как:

// Найти приведенный ниже код

$config['uri_protocol'] = "AUTO" 

// Заменить его как

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

sir ,, ваша логика не работает .. – joy

0

Сделайте то же самое, что вы сделали в своей папке на example.com, чтобы удалить index.php из базового url в папке example.com/folder. То есть, редактировать/создавать Htaccess, удаление index.php из конфигурационного файла и т.д.

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