Pretty Permalinks em IIS7 com Wordpress
Finalmente, concluí as mudanças de webserver ao nível de hosting e base de dados. Neste momento este blog bomba em Windows 2008 – ISS 7.0 com Wordpress 2.8.4 em cima de MySQL 5.0.
Após mudanças, algo que me deixou contente foi a possibilidade de finalmente ter “prettylinks” no wordpress. Também designados por friendly URL, ou fancy URL, fancy links, whatever, são links por vezes mais curtos, visualmente mais relevantes e mais eficazes na indexação de páginas. Na vez de termos por exemplo:
http://fredcerdeira.com/blog/?p=502 , temos:
http://fredcerdeira.com/blog/2009/05/deepzoom-paris
Algo mais agradável e facilmente percebemos que foi um post de 2009, no mês 05 com o titulo “deep-zoom paris”. Escondemos assim a passagem de variáveis no querystring e os motores de busca agradecem. Desta forma garantimos também a possibilidade de manter os links e mudar completamente a tecnologia que está por trás a gerar o HTML.
Esta reconversão de links é possível graças aos mecanismos de URL Rewrite, ou seja, a recodificação dos links através de software. No caso dos servidores APACHE, esta reconversão é possível através do módulo mod_rewrite.
Nos servidores IIS (Internet Information Services) da Microsoft, é possível obter resultados semelhantes através da extensão URL Rewrite. A partir da versão 7, os senhores do IIS disponibilizam gratuitamente um módulo para as versões X86 e x64 que funciona muito bem.
Para termos uma administração remota ao nosso servidor IIS, é necessário primeiramente que o hosting provider forneça autorização para acesso remoto, e de ter o módulo URL Rewrite Instalado no Windows 2008 ( a maioria dos hosting providers que disponibilizam alojamento windows 2008, têm também o módulo instalado)
necessitamos também de uma consola muito útil designada por “IIS Manager for Remote Admin”. Através desta consola temos acesso remoto ao nosso servidor e conseguimos realizar a maior parte das operações necessárias à configuração do nosso webserver, como por exemplo a configuração do módulo de URL Rewrite.
Mas para tirar partido da funcionalidade “prettylinks” do wordpress, não necessitamos de configuração nenhuma do módulo ao nível do IIS.
No entanto é necessário atender aos Requisitos:
1. IIS 7.0 com FASTCGI e PHP
2. wordpress ( a última versão de preferência)
3. Módulo de URL Rewrite instalado
No dashboard do nosso wordpress, em “Permalink Settings” vamos criar a a estrutura “/%year%/%monthnum%/%day%/%postname%/” e Guardar.
Após Guardar, é necessário criar um ficheiro do tipo web.config, que é basicamente um ficheiro XML que contem settings que o webserver interpreta. Se o wordpress, não apresentar um painel de configuração deste ficheiro, é necessário criar um ficheiro de raiz, com o Notepad ou outro qualquer editor e colocá-lo na raíz da pasta onde está o blog. (Não esquecer de guardar com o nome “web” a extensão “.config”)
O ficheiro terá que ter o seguinte código:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" 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" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Estas regras correspondem às definições default do módulo URL Rewrite do IIS.
Depois do upload do web.config, testem no vosso blog se os links estão todos a funcionar correctamente.
Se eventualmente (no meu blog aconteceu), os posts da home page e os posts resultantes do “search” não forem apresentados, é necessário adicionar ao web.config, a seguir ao <system.webServer>:
<defaultDocument>
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
Desta forma garantimos que todas as páginas geradas por “index.php” são apresentadas correctamente.
Se tudo funcionar correctamente, conseguem ter links bonitos no vosso browser.
Últimos comentários