Skip to content

Instantly share code, notes, and snippets.

@SrVinicius
Last active November 12, 2024 17:39
Show Gist options
  • Save SrVinicius/00f03766407b46539af46561c4aba808 to your computer and use it in GitHub Desktop.
Save SrVinicius/00f03766407b46539af46561c4aba808 to your computer and use it in GitHub Desktop.
CodeIgniter 4 project on IIS server - Projeto CodeIgniter 4 em um servidor IIS

Nota: Antes disso, tenha certeza que o PHP está instalado e configurado no IIS!

No IIS:

Adicionar um novo Website:

  • Botão direito em Sites e escolha Adicionar site.
  • Preencha o nome do site, caminho do webroot da sua aplicação e configure a porta.
  • Importante! O caminho deve ser o da pasta Public do CodeIgniter. Exemplo: C:\inetpub\wwwroot\MyProject\public
  • Certifique-se de que o pool de aplicativos esteja configurado para rodar com a versão correta do PHP.

Instalar o módulo de URL Rewrite (Importante)

Acessar o link: https://www.iis.net/downloads/microsoft/url-rewrite e utilizar a versão desejada.

Adicionar regra de reescrita no módulo URL Rewrite:

  • Botão direito no módulo de reescrita de url.
  • Escolher a opção "Blank rule".
  • Usar as seguintes configurações:
  • RegrasUrlRewrite
  • Atenção! Trocar testeisapi.ddl/{R:1} para index.php/{R:0}

Criação do arquivo web.config:

Na webroot do seu projeto (dentro da pasta Public), criar o seguinte arquivo web.config:

<?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>

Considerações finais:

  • Tenha certeza que seu site esteja com as permissões necessárias de escrita e leitura.
  • Ajuste a baseURL, presente no arquivo App.php ou .env para a URL correta (URL que será usada)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment