Das Apache Modul „mod_rewrite“ ermöglicht URL Manipulation.
Mit der Rewrite-Engine des Apache-Webservers ist es möglich, URLs anhand von Regeln „umzuschreiben“.
Rewrite-Engines werden häufig genutzt, um Ressourcen mit dynamischen URLs unter Alternativadressen erreichbar zu machen.

Beispiel:

Die Ressource mit der internen, technisch bedingten Adresse

/page/index.php?title=Startseite

ist so beispielsweise auch unter folgender Adresse erreichbar

/page/Startseite.html

Um zu prüfen, ob auf einem Server bzw. seinem Webhosting Paket mod_rewrite aktiviert ist kann man folgendes Beispiel auf Basis von PHP benutzen.

1. Datei „rewrite.php“ erstellen

<?php $result = ($_GET['test']==1)?"Link ohne mod_rewrite":(($_GET['test']==2)?"OK! - Link mit Apache mod_rewrite funktioniert":"Test - Apache mod_rewrite"); ?>
<head>
	<title>Test - Apache mod_rewrite</title>
</head>
<body>
	<h1 style="text-align:center;"><?php echo $result; ?></h1>
	<h3>Funktionsweise:</h3>
	<p>
		Die beiden Test Links verweisen beide auf die Seite "rewrite.php".<br/>
		TEST LINK 1 ist dabei ein einfacher Verweis auf diese Seite ohne mod_rewrite.<br/>
		TEST LINK 2 verweist auf eine HTML Datei. Dieser Link wird über die definierte Regel in der .htaccess Datei auf die Datei "rewrite.php" umgeschrieben.
	</p>
	<br/>
	<a href="rewrite.php?test=1">TEST LINK 1</a> (ohne mod_rewrite)
	<br/><br/>
	<a href="rewrite2.html">TEST LINK 2</a> (mit mod_rewrite)
</body>
</html> 

2. Datei „.htaccess“ erstellen

RewriteEngine On
RewriteRule ^rewrite([^/]*).html$ rewrite.php?test=$1 [L]

3. Dateien auf dem Server laden

Laden Sie alle Dateien auf den Server hoch. Am Besten wir hierfür nicht das ROOT-Verzeichnis sondern eigener Ordner (z.B. „test“) benutzt.

4. Testseite aufrufen.

Rufen Sie die Testseite auf um zu prüfen ob das mod_rewrite Module auf dem Server aktiviert ist.
Beispiel: www.testdomain.de/test/rewrite.php

Funktionsweise der Testseite:

Die beiden Test Links verweisen beide auf die Seite „rewrite.php“.
TEST LINK 1 ist dabei ein einfacher Verweis auf diese Seite ohne mod_rewrite.
TEST LINK 2 verweist auf eine HTML Datei. Dieser Link wird über die definierte Regel in der .htaccess Datei auf die Datei „rewrite.php“ umgeschrieben.

Testseite downloaden
Wer die Dateien nicht selbst erstellen will kann diese hier downloaden:
mod_rewrite_test.zip

Tutorial: Apache Mod_Rewrite Modul testen

2 Gedanken zu „Tutorial: Apache Mod_Rewrite Modul testen

  • Ich erhalte beim Ausführen von Test Link 2 folgende Fehlermeldung:“Not Found – The requested URL /Test/rewrite2.html was not found on this server.“

    Kann ich daraus schließen, dass mein mod_rewrite nicht korrekt funktioniert?
    Beste Grüße

Schreibe einen Kommentar

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