Solucionado (ver solução)
Solucionado
(ver solução)
15
respostas

erro ao hospedar site feito em codeigniter

Estou tentando fazer uma hospedagem de um site feito todo em codeigniter mas está dando erro 404, vi na internet que algumas pessoas falam que é o nome do controller que esta em maiúsculo ou minusculo mas mesmo mudando não resolveu...

15 respostas

Oi André, 404 pode ser muita coisa, mas está relacionado a endereçamento. Requisitando algo que não existe ou de forma errada as vezes. Passa mais informações sobre: onde tá hospedando, como tá hospedando... Que ai a gente pode ver o que pode estar acontecendo.

Boa tarde

Conseguir em partes, era o nome dos controllers e models. Tipo as iniciais tem que ser maiúsculas e dentro do controller quando for carregar os models tmb tem que ter as iniciais maiúsculas... ao menos essa parte deu certo agora tenho o problema com base_url que nao esta carregando os css e js...

Cola o código de como você está importando o js e css aqui pra gente ver como tá?

Boa noite

peço desculpas por não responder foi meio corrido esses dias... bom consegui fazer era colocar a url do site no base_url do config

$config['base_url'] = 'http//www.site.com.br';

e assim consegui resolver..

agora sei que aqui não seria o lugar mas colocar uma imagem com link no codeigniter está sendo uma dor de cabeça eu vi que tem que colocar o helper html mas mesmo assim nao link poderia me ajudar nesta questao te agradeço

Como o colega Wanderson falou, pode ser um tanto de coisas... algumas ideias:

Quando eu usava CodeIgniter 1.6 (faz tempo...) eu tinha problemas com erro 404 em algumas hospedagens. Resolvia com algumas mudanças no .htaccess ou configurando o Apache para apontar para a pasta correta (a raiz do projeto /index.php).

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

Em alguns casos, a última linha resolvia colocando uma ? ali:

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

Ou tinha esquecido de tirar o index.php lá no config.php, nesse trecho, para usar URL semântica e sem index escrito:

$config['index_page'] = '';

Outro problema que às vezes ocorria era o servidor SerCaseSensitive e o localhost não (ou vice-versa). Então o meu Paginas_model.php funcionava local, mas não no remoto.

Ou a hospedagem servia o PHP usando o protocolo FastCGI. Uma mudança no config.php resolvia.

$config['uri_protocol'] = "REQUEST_URI";

Minha resposta te ajudou? Dá um retorno ou marca como solução? Obrigado!

sim obrigado, mas como faria um link para uma imagem poderia me ajudar nisso

Eu usava muito o helper base_url() https://www.codeigniter.com/user_guide/helpers/url_helper.html?highlight=base_url#base_url

echo base_url("images/icons/edit.png");

neste caso não usaria um anchor linkando a imagem para uma outra pagina na verdade seria isso uma imagem que clicando entra em outra pagina com o código

Você quer exibir uma imagem que tem um link para uma outra página é isso?

sim isso

Neste caso era só você usar o HTML padrão usando a base_url como o Ricardo falou acima.

<a href="<?php echo base_url('linkDaPagina') ?>" >
    <img src="<?php echo base_url('srcDaImagem'); ?>" />
</a>

Bom dia Wanderson

Estava usando o anchor mas acredito que desta forma tmb dá olha engraçado consegui fazer funcionar no servidor de hospedagem mas para tirar o index.php não consegui tirar ele sai apenas em localhost mas na web não tem jeito...

André, desculpa, eu não entendi, você ainda está com problemas?

solução!

Boa tarde

Já resolvi eu esqueci que em alguns casos teria que colocar RewriteRule ^(.*)$ ./index.php/$1? [L,QSA] na verdade o ? é que localmente estava funcionando o e no servidor não, para retirar o index.php da url... Obrigado...