Um cliente tem um servidor com Windows 2008 Server instalado, rodando IIS 7.5 e o ISAPI 3 (hospedagem da Locaweb).

Eu precisava colocar um projeto CakePHP rodando no servidor dele, e o problema era a necessidade de rewrite do framework. Como eu ia fazer os htaccess do CakePHP funcionarem no IIS?

Primeiro, vamos conceituar as coisas:

No Apache, a gente usa mod_rewrite para ler os htaccess e ter as URL amigáveis.
No NGINX, o suporte a rewrites é nativo, e a gente configura nos arquivos em /etc/nginx/sites-available
No IIS, cada versão pode esperar uma coisa diferente (claro, a Microsoft não facilita), mas o que é usado para fazer rewrites é o ISAPI.

Se você estiver trabalhando com IIS 6, acho que existe a chance de você usar ISAPI 2, que trabalha com arquivos web.config (um XML).
Se você estiver trabalhando com IIS 7 ou superior, provavelmente você estará usando ISAPI 3, que trabalha com .htaccess assim como o mod_rewrite do Apache (YEY \o/).

A configuração que fiz no .htaccess, para o servidor que citei no início do post, ficou assim:

Nesta configuração, o projeto estava na raiz do servidor, e não em um subdiretório. Também apaguei os .htaccess da pasta /app e da /app/webroot, deixando só o da raiz.

Estou compartilhando essa configuração porque quebrei muito a cabeça antes de chegar no resultado que funciona, pois não sou um amante de Microsoft.

2 thoughts on “CakePHP no IIS 7.5

    1. Eduardo, no caso de um subdomínio, eu imagino que seja tratar igual a forma que se trata diretório raiz.

      A configuração que eu postei não funcionou para subdomínio?

      Se não resolveu, manda um e-mail para mim: heitor-silva [at] hotmail.com.

      Eu tento te ajudar

      abs

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *