.htaccess und Mod_Rewrite Funktion Das System verwendet ein zusätzliches Apache Modul mod_rewrite das nicht in jedem "Webhosting Packet" bei jedem Anbieter zur Verfügung steht.
Wenn der Anbieter dies nicht unterstützt, sollte die .htaccess Datei gelöscht werden, und in der Admin-Verwaltung bei den News-Einstellungen die Mod_Rewrite Funktion abgeschaltet werden, damit die Links nicht in einer besseren lesbaren Form in .html erstellt werden.
Was mod_rewrite ist, und macht, kann jeder im Netz nachschlagen.
In der .htaccess Datei sollte man eigendlich nichts ändern, außer eine Zeile auf die ich am Ende dieser News näher drauf eingehe.
Doch sollte man wissen wofür diese .htaccess Datei da ist.
In der .htaccess Datei ist in der ersten Zeile: RewriteEngine on
Das heisst in allen Ordnern ist Mod_rewrite angeschaltet.
Ein Beipiel: Befehl:
RewriteRule ^index.html$ index.php?option=home&MLID=1
|
Datei: index.html Ruft man die index.html Datei auf, die es eigendlich nicht existiert, wird der Aufruf weitergeleitet und die index.php Datei ausgeführt wo mit der zusätzlichen Angabe mit MLID=1 die gewünschte Navigation aufgerufen wird, in der das Modul für die Startseite zugewiesen ist.
Ein weiteres Beispiel: Ein Mitglieder Profil mit "Benutzer-Name" aufrufen. Datei: admin.html (BENUTZERNAME.html) Befehl:
| RewriteRule ^(.*).html$ index.php? option=mprofil& aktion=userdetail&pname=$1&sub=1&MLID=62&SLID=0 |
Mit der MLID=62 wird der Hauptlink aufgerufen mit dem das Modul für die Profile ausgegeben wird.
Fazit: Man kann jetzt keine Datei .html Datei erstellen und die in den Hauptordner anzeigen lassen. Weil durch die .htaccess eine Datei mit der Endung .html am ende mit einem Benutzer-Profil aufgerufen wird. Man kann nur die Endung .htm verwenden im Hauptordner. Da die .htaccess Datei direkt in den Hauptordner auch alle anderen Ordner beeinflusst, müssen in den zusätzliche Ordnern wie module/ eine weitere "leere" .htaccess liegen, die dazu noch Mod_rewrite wieder abschaltet.
PHP-Einstellungen: In der .htaccess werden folgende PHP Einstellungen abgeschaltet. Die erste Einstellung session.use_trans_sid wird abgeschaltet damit die Session-ID nicht an die URL angehängt wird. Die beiden letzten Einstellungen mit magic_quotes betrifft die Slashes /" die vor den Sonderzeichen gesetzt werden. Da wir auch HTML Dateien / Templates bearbeiten müssen, wurde diese Funktion abgeschalten, weil es sonst zu Verdopplungs-Effekt kommt. Sonderzeichen die in MYSQL Tabellen mit einem Slash-Zeichen versehen werden müssen, werden mit dem PHP Befehl mysql_real_escape_string() vor dem speichern manuell bereinigt.
php_value session.use_trans_sid 0 php_flag magic_quotes_runtime off php_flag magic_quotes_gpc off |
Wichtig: Danke; wenn die Fehleraufrufe auf meine Webseite führen. ErrorDocument 404 http://www.mrw-online.com/index404.html
|