2015-07-09 5 views
1

Я пытаюсь удалить index.php из URL-адресов CodeIgniter 3. В настоящее время, все мои URL-адреса выглядеть следующим образом:Удаление index.php из CodeIgniter 3 URL-адреса

http://example.com/index.php/Controller/function 

И я хочу, чтобы выглядеть следующим образом:

http://example.com/Controller/function 

Я следовал вместе на следующей статье и переполнения стека пост, еще ни один из ответы, которые я нашел работали для меня:

Моя структура каталогов устанавливается следующим образом:

  • /вар/WWW/пример
    • /применение
      • (файлы стандарта приложения CodeIgniter ... контроллеры, модели, виды, конфигурации)
    • /public
      • /CSS
      • /JS
      • /шрифты
      • /изображения
      • index.php
      • .htaccess
    • /Система
      • Я не коснулся все в этом каталоге
    • .htaccess

Содержание /var/www/example/.htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ public/ [L] 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 

Содержание /var/www/example/public/.htaccess:

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

Содержание/var/www/example/application/config/config.PHP (обрезается до того, что я изменился на основе предварительного чтения):

$config['base_url'] = ''; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'REQUEST_URI'; /* have tried AUTO as well */ 

Для моего сервера Apache, мод-переписывают включена через:

sudo a2enmod rewrite 
sudo service apache2 restart 

Мой виртуальный хост-файл для этого сайта :

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName example.com 
    ServerAlias www.example.com 
    DocumentRoot /var/www/example/public 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

ответ

1

Добавьте их в свой файл виртуальных хостов и при необходимости отредактируйте директиву Options.

<Directory /> 
      AllowOverride All 
      Order allow,deny 
      allow from all 
    </Directory> 

    <Directory "/var/www/example/public"> 
      AllowOverride All 
      Order allow,deny 
      allow from all 
    </Directory> 
+0

Спасибо! Это сработало отлично! – acamp120

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