O CodeIgniter vem com um arquivo .htaccess para rodar diretamente no servidor web Apache. Porém isso não funciona no IIS.
Abra o Gerenciador do IIS (IIS Manager).
Adicione um novo Website:
- Clique com o botão direito em Sites e escolha Adicionar site.
- Preencha os detalhes como o nome do site, caminho físico da sua aplicação (onde você colocou o CodeIgniter no servidor) e configure a porta.
- Certifique-se de que o pool de aplicativos esteja configurado para rodar com a versão correta do PHP.
Você precisa criar um arquivo web.config na raiz do seu projeto com o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Remove index.php" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Certifique-se de que o baseURL no .env ou no arquivo app/Config/App.php esteja configurado corretamente para o seu domínio ou IP:
app.baseURL = 'http://seu-dominio-ou-ip/'
CI_ENVIRONMENT = production
Garanta que o IIS tenha permissão de leitura e escrita nas pastas necessárias, como:
writable/ (logs, cache, etc.).
Você pode ajustar isso no Windows, clicando com o botão direito na pasta e em Propriedades > Segurança, adicionando as permissões necessárias para o usuário do IIS (geralmente IUSR ou IIS_IUSRS).
Raphael, tudo bem? Muito obrigado pela ajuda! Todavia, estou recebendo o erro HTTP Error 403.14 - Forbidden. Realizei todos os passos comentados. Adicionei o arquivo web.config na pasta public. Tem alguma ideia do que pode ser?