Meus URLs atuais são assim [mysite]index.php/[rest of the slug]
.
Eu quero tirar index.php
esses URLs.
mod_rewrite
está ativado no meu servidor apache2. In config
,$config['index_page'] = '';
Meu .htaccess
arquivo raiz do codeignitor contém,
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
Mas ainda não está funcionando. Onde eu estou errando?
php
.htaccess
codeigniter
apache2
Nihar Sarangi
fonte
fonte
Respostas:
Tente o seguinte
Abra o config.php e faça o seguinte substitui
para
Em alguns casos, a configuração padrão para
uri_protocol
não funciona corretamente. Apenas substituade
.htaccess
Nota: o código .htaccess varia dependendo do servidor de hospedagem. Em alguns servidores de hospedagem (por exemplo: Godaddy), você precisa usar um extra? na última linha do código acima. A seguinte linha será substituída pela última linha no caso aplicável:
fonte
RewriteRule ^(.*)$ index.php/$1 [L]
mas ainda assim posso visualizar a página nos dois domínios domain.com/about-us, domain.com/index.php/about-us e domain.com/index.php?/about-us, que geram erro SEO ou seja duplicado tag título e descrição duplicado meta$_POST
ouisset($_POST)
não funciona depois de adicionar isso.Etapa: -1 Abra a pasta "application / config" e abra o arquivo "config.php". encontre e substitua o código abaixo no arquivo config.php.
Etapa: -2 Vá para a pasta CodeIgniter e crie .htaccess
Etapa: -3 Escreva o código abaixo no arquivo .htaccess
Etapa: -4 Em alguns casos, a configuração padrão para uri_protocol não funciona corretamente. Para resolver esse problema, basta abrir o arquivo "application / config / config.php", localize e substitua o código abaixo
Isso é tudo, exceto no servidor wamp, ele não funciona porque rewrite_module por padrão desabilitado, portanto, precisamos ativá-lo. para isso, faça o seguinte
Documentação original
Exemplo de Link
fonte
Passo 1 :
Adicione isso no arquivo htaccess
Passo 2 :
Remova o index.php na configuração do codeigniter
Etapa 3 :
Permitir a substituição do htaccess na configuração do Apache (comando)
e edite o arquivo e mude para
para pasta www
Passo 4 :
Reescrita de modificação do apache ativada (comando)
Etapa 5:
Reinicie o Apache (comando)
fonte
usar
se você tiver URL neste pedido, site.com/index.php/class/method/id
fonte
RewriteRule .* index.php/$1 [PT,L]
- isso não passará o caminho da URL, a menos que você altere oRewriteRule
padrão de.*
para(.*)
. No entanto, se você estiver usando$config['uri_protocol'] = 'REQUEST_URI';
, isso é irrelevante de qualquer maneira.fonte
no seu htaccess, use isso,
Espero que isto ajude.
fonte
Existem dois passos:
1) Edite o config.php
Para
2) Criar / Editar arquivo .htaccess
fonte
criar
.htaccess
arquivo e colocar esse códigomudança
remover
index.php
presente noconfig.php
arquivofonte
1.Crie um novo arquivo .htaccess no diretório raiz.
2. Vá para o seu arquivo config.php e mude de
$config['index_page'] = 'index.php'
para$config['index_page'] = ''
fonte
Resolvido com 2 etapas.
fonte
tente este. Pode ajudá-lo, pois está funcionando para mim.
coloque o código no seu arquivo htaccess raiz. e verifique se você tem
no seu arquivo de configuração.
Entre em contato se tiver algum problema.
fonte
Assista a estes vídeos para referência https://www.youtube.com/watch?v=HFG2nMDn35Q
fonte
Bem, todas essas respostas são boas, mas para um novato (o que é feito pela primeira vez), essas são confusas. Existem outros arquivos htaccess que residem no controlador, mas temos que editar ou adicionar o htaccess na pasta principal do projeto.
Esta é a sua pasta codeigniter, onde o arquivo reside como aplicativo, sistema, ativos, uploads etc.
Mude este arquivo conforme escrito abaixo:
e sim, claro, você precisa alterar duas linhas de código no aplicativo / config / config.php
fonte
Desenvolvimento e produção
fonte
Antes de tudo, você precisa no mecanismo de reescrita do servidor apache on.this link irá ajudá-lo
http://www.anmsaiful.net/blog/php/enable-apache-rewrite-module.html
este será o seu arquivo .htaccess. Agora tente. Essa configuração funciona para mim.
fonte
você pode acessar o arquivo config \ config.php e remover o valor index.php dessa variável
crie um arquivo .htaccess e cole esse código nele.
boa chance
fonte
fonte
Apenas três etapas são necessárias para remover o index.php do URL no Codeigniter
1) Crie o arquivo .htacess em paralelo ao suporte do aplicativo e apenas copie o código a seguir:
2) Altere $ config ['index_page'] para em branco no config.php na pasta do aplicativo como abaixo:
3) Habilite o "rewrite_module" do apache.
Reinicie seu apache e pronto.
Detalhes: http://sforsuresh.in/removing-index-php-from-url-of-codeigniter-in-wamp/
fonte
Eu acho que toda a sua configuração é boa, mas você está fazendo para deslocar seu arquivo htaccess e adicionar seu htaccess ao arquivo do projeto
project_folder-> htaccess
e adicione este código ao seu htaccess
fonte
você pode ir para o arquivo application \ config \ config.php e remover o index.php
Mudar para
fonte
experimente este RewriteEngine On
fonte
Isso funciona para mim. Testado no codeigniter 3.1.11, PHP 5.6.40 Eu uso um host virtual na minha configuração do apache2 no servidor de teste.
E /.htaccess conteúdo
fonte
Siga estes passos, seu problema será resolvido
1- Faça o download do arquivo .htaccess aqui https://www.dropbox.com/s/tupcu1ctkb8pmmd/.htaccess?dl=0
2- Altere o nome do diretório CodeIgnitor na Linha # 5. como meu nome de diretório é abc (adicione seu nome)
3- Salve o arquivo .htaccess no diretório principal (abc) da sua pasta codeignitor
4- Altere uri_protocol de AUTO para PATH_INFO no arquivo Config.php
Nota: Antes de tudo, você precisa habilitar o mod_rewrite do httpd.conf do apachi removendo os comentários
fonte
Use este código. Altere a 2ª linha conforme o nome da sua pasta. Onde os arquivos e pastas index.php são aplicados, a pasta do sistema está localizada. Principalmente os problemas acontecem devido à segunda linha. não configuramos o nome da pasta onde o projeto está localizado. Importante é a segunda linha. É simples remover o index.php. RewriteEngine no RewriteBase / project_folder_name RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L]
Vá para o arquivo controller / config.php.
config ['index_url'] = '';
Referência para mais estudos.
https://ellislab.com/expressionengine/user-guide/urls/remove_index.php.html
https://ellislab.com/blog/entry/fully-removing-index.php-from-urls
fonte
Além dessas respostas, é possível simplesmente adicionar index.php ou editá-lo (se já estiver lá) - por segurança, você deseja desativar o index.php de qualquer maneira, ao listar os arquivos no diretório do site - e depois mudar o conteúdo para
fonte
Menor: (Opcional)
Uma coisa crítica a ser observada:
Script do meu arquivo vhosts: (Antes)
Script do meu arquivo vhosts: (Depois)
Eu enfrentei o mesmo problema, lutei por cerca de 1 dia, tudo estava bem. Mais tarde, pelo método de tentativa e erro, encontrou essa coisa. Depois de remover isso, meu trabalho foi realizado. O URL agora não procura index.php :)
fonte
se toda a solução acima não funcionar, na pasta do projeto haverá dois arquivos index.html e index.php, renomeie index.html para index_1.html e navegue no seu projeto.
fonte
Observe a diferença com o "?" Adicionado caractere após ".php", especialmente ao lidar com o CodeIgniter:
vs.
Depende de várias outras coisas. Se não funcionar, tente a outra opção!
fonte
Você pode remover o index.php do url colocando algum código em .htaccess
Caminho do arquivo: raiz> .htacess
Espero que funcione.
fonte
No CodeIgniter 3.16, usando o htaccess para
& Além disso
A seguir estão os códigos:
application\config\config.php
arquivoFaça mudanças
Para
fonte