WordPress permalink rewrite IIS

Pubblico questo articolo in primis come bookmark per me, sperando di poter fare cosa utile a te che leggi e che sei arrivato su questa pagina perchè non riesci a risolvere l’errore 404 not found sulla configurazione dei permalinks WordPress seo-friendly su IIS 7.x ed 8.x

Abbiamo recentemente pubblicato, con il team di Evermind, un sito basato su WordPress in ambiente Aruba Windows ed ho avuto (non) pochi problemi nella gestione dei permalink.

In questo contesto non è sufficiente gestire il rewrite tramite il file .htaccess – per intenderci quello che viene generato automaticamente da WordPress quando clicchiamo sul pulsante “Save” dentro Settings/Permalinks. Bisogna, difatti, creare un file web.config (sempre che il nostro fornitore ci dia la possibilità di sovrascriverne la configurazione) così strutturato:


<?xml version="1.0"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<remove value="index.php" />
<add value="index.php" />
</files>
</defaultDocument>
<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/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

 

Così facendo simuliamo il comportamento del file .htaccess anche in ambito Windows.

Infine, scrivo a memoria futura, di costringere tutti i clienti / persone / amici che vorranno pubblicare un sito WordPress di non farlo su Aruba Windows 🙂