URL Amigável

Olá pessoal, estou precisando de um help. Estou estudando framework CodeIngniter e estou com uma dificuldade. Não estou conseguindo aplicar o conceito de URL amigável, já vi alguns tutoriais na internet mas nenhum deu certo.

//minha rota
$route['default_controller'] = 'pagina';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['empresa'] = 'pagina/empresa';

//meu controller
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Pagina extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('url');
    }

    public function index() {
        $dados['titulo'] = "Excelência Serviços Contábeis";
        $this->load->view('index', $dados);
    }

    public function empresa() {
        $dados['titulo'] = "Empresa | Excelência Serviços Contábeis";
        $this->load->view('empresa', $dados);
    }
}
?>

//meu arquivo config está da seguinte forma
$config['base_url'] = 'http://localhost/excelenciaservcontabeis/';
$config['index_page'] = "";
$config['uri_protocol']	= 'REQUEST_URI';

#o arquivo .htaccess (localizado na raiz do projeto) está assim
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
#se no index.php eu deixar assim '/index.php/' ele volta para a página do xampp
#se deixar como está ele da a mensagem que não encontrou a página

Se alguém puder me ajudar fico muito agradecido.

Mesmo você tendo o .htaccess no seu projeto, o apache precisa saber que ele existe e conceder permissão de “sobrescrita”…

Mesmo realizando as configurações no Apache ainda é necessário informar o index.php/controller/metodo após a url da home.

//o apache estava assim:
    <Directory />
        AllowOverride all
        Require all denied
    </Directory>

    <Directory "C:/xampp/cgi-bin">
        AllowOverride All
        Options None
        Require all granted
    </Directory>

//apos modificação ficou assim:

<Directory />
    AllowOverride all
    Require all granted
</Directory>

<Directory "C:/xampp/cgi-bin">
    AllowOverride All
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

Veja se ajuda

http://www.web-and-development.com/codeigniter-remove-index-php-minimize-url/

1 curtida

LostSoldier muito obrigado pela sua ajuda, este link resolveu meu problema.

1 curtida