YOURLS URL-Kürzer auf Windows Server

Manchmal sieht man den Wald vor lauter Bäumen nicht. Nach der Installation von YOURLS auf einem Windows-Server funktionierte die Weiterleitung nicht. Beim Aufruf von /admin kam eine nichtssagende Fehlermeldung und lediglich der direkte Aufruf von /admin/index.php brachte mich ins Admin-Interface.

Dort liesen sich dann auch neue Links shorten – die Verwendung war aber nicht möglich. Dabei war des Rätsels Lösung gar nicht mal so ungewöhnlich. Bei einem Windows Server und IIS versagte die – sonst übliche – .htaccess einfach.

Die Lösung (falls man ohne Sub-Domain arbeitet):

Im Verzeichnis-Root eine web.config erstellen mit folgendem Inhalt:

<?xml version=“1.0″ encoding=“UTF-8″?>
<configuration>
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping=“true“ />
</security>
<rewrite>
<rules>
<rule name=“YOURLS“ stopProcessing=“true“>
<match url=“^(.*)$“ ignoreCase=“false“ />
<conditions>
<add input=“{REQUEST_FILENAME}“ matchType=“IsFile“ ignoreCase=“false“ negate=“true“ />
<add input=“{REQUEST_FILENAME}“ matchType=“IsDirectory“ ignoreCase=“false“ negate=“true“ />
</conditions>
<action type=“Rewrite“ url=“/yourls-loader.php“ appendQueryString=“true“ />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Danach sollte es dann ohne Probleme laufen.

 

Falls YOURLS bei euch in einer Sub-Domain läuft, nutzt bitte folgenden Inhalt („unterverzeichnis“ natürlich entsprechend anpassen):

<?xml version=“1.0″ encoding=“UTF-8″?>
<configuration>
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping=“true“ />
</security>
<rewrite>
<rules>
<rule name=“YOURLS“ stopProcessing=“true“>
<match url=“^somedir/(.*)$“ ignoreCase=“false“ />
<conditions>
<add input=“{REQUEST_FILENAME}“ matchType=“IsFile“ ignoreCase=“false“ negate=“true“ />
<add input=“{REQUEST_FILENAME}“ matchType=“IsDirectory“ ignoreCase=“false“ negate=“true“ />
</conditions>
<action type=“Rewrite“ url=“/unterverzeichnis/yourls-loader.php“ appendQueryString=“true“ />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Manchmal liegt die Lösung eigentlich auf der Hand, wenn man nicht in Apache denkt^^

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.