- <VirtualHost my.domain.com:80>
- ServerName my.domain.com
- DocumentRoot /path/to/server/root/my.domain.com/public
- RewriteEngine off
- <Location />
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} -s [OR]
- RewriteCond %{REQUEST_FILENAME} -l [OR]
- RewriteCond %{REQUEST_FILENAME} -d
- RewriteRule ^.*$ - [NC,L]
- RewriteRule ^.*$ /index.php [NC,L]
- </Location>
- </VirtualHost>
Programmer's Reference Guide
| Modul Struktur |
Leitfaden für die Rewrite Konfiguration
URL Rewriting ist eine der üblichen Funktionen von HTTP Servern. Trotzdem unterscheiden sich die Regeln und die Konfiguration zwischen Ihnen sehr stark. Anbei sind einige der üblichen Vorschläge für eine Vielzahl der populären Webserver zu finden, die zur der Zeit in der das hier geschrieben wurde, vorhanden sind.
Apache HTTP Server
Alle folgenden Beispiel verwenden mod_rewrite, ein offizielles Modul das bebündelt mit Apache kommt. Um es zu verwenden muss mod_rewrite entweder wärend der Zeit des Kompilierens enthalten sein, oder als Dynamic Shared Objekt (DSO) aktiviert werden. Konsultieren Sie bitte die » Apache Dokumentation für weitere Informationen über Ihre Version.
Rewriting innerhalb eines VirtualHost
Hier ist eine sehr grundsätzliche Definition eines virtuellen Hosts. Diese Regeln leiten alle Anfragen auf index.php weiter, ausser wenn eine passende Datei im document_root gefunden wurde.
Es ist der Schrägstrich ("/") zu beachten der index.php vorangestellt ist; die Regeln für .htaccess unterscheiden sich in diesem Punkt.
Rewriting innerhalb einer .htaccess Datei
Anbei ist eine einfache .htaccess Datei welche mod_rewrite verwendet. Das ist Ähnlich der Konfiguration für virtuelle Hosts, ausser das Sie nur die Rewrite Regeln spezifiziert, und der führende Schrägstrich bei index.php nicht angegeben wird.
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} -s [OR]
- RewriteCond %{REQUEST_FILENAME} -l [OR]
- RewriteCond %{REQUEST_FILENAME} -d
- RewriteRule ^.*$ - [NC,L]
- RewriteRule ^.*$ index.php [NC,L]
Es gibt viele Wege um mod_rewrite zu konfigurieren; wenn man weitere Informationen haben will, dann sollte man in Jayson Minard's » Blueprint for PHP Applications: Bootstrapping sehen.
Microsoft Internet Information Server
Ab Version 7.0 wird IIS jetzt mit einer Standardmäßigen Rewrite Engine ausgeliefert. Man kann die folgende Konfiguration verwenden um die entsprechenden Rewrite Regeln zu erstellen.
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <system.webServer>
- <rewrite>
- <rules>
- <rule name="Imported Rule 1" stopProcessing="true">
- <match url="^.*$" />
- <conditions logicalGrouping="MatchAny">
- <add input="{REQUEST_FILENAME}"
- matchType="IsFile" pattern=""
- ignoreCase="false" />
- <add input="{REQUEST_FILENAME}"
- matchType="IsDirectory"
- pattern=""
- ignoreCase="false" />
- </conditions>
- <action type="None" />
- </rule>
- <rule name="Imported Rule 2" stopProcessing="true">
- <match url="^.*$" />
- <action type="Rewrite" url="index.php" />
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>
| Modul Struktur |
