mod_rewrite
Die Funktion mod_rewrite wird in Clansphere verwendet, um schönere Links zu bekommen. Gleichzeitig wird Ihre Seite dadurch auch Suchmaschinenoptimiert.
Aus www.ihre-seite.de/index.php?mod=news&action=view&id=2
wird www.ihre-seite.de/index/news/view/id/2
Erstellt werden die Links via htaccess.
mod_rewrite nutzen
Als erstes muss die vorbereitete htaccess angepasst werden. Im Clansphere-Hauptverzeichnis ist die .htaccess_example zu finden. Diese muss nun in .htaccess umbenannt werden.Dann können die hübschen Links über System -> Optionen -> Clansphere aktiviert werden. Nun sind bereits alle (System-)Links im Mod-Rewrite Style.
Damit auch automatisch die Template-Links im Style von mod_rewrite sind, müssen die Platzhalter {url:mod_action} verwendet werden.
Problemlösungen
Links konvertieren
Um auch Anfängern einen schnellen Umstieg zur mod_rewrite Technologie und damit auch suchmaschinenoptimierten Links zu ermöglichen, haben wir ein kleines Script erstellt, um Links ganz einfach umzuwandeln:Mod_Rewrite (temporär) deaktivieren
Seit 2009.0 RC3 ist es möglich mod_rewrite mit einem Eintrag in der index.php temporär zu deaktivieren. Dazu muss nur diese Zeile in die index.php eingefügt werden:$cs_main['mod_rewrite'] = 0;Weitere Infos zu diesem Thema finden sich im folgenden Thread.
.htaccess Datei
Falls es doch Probleme gibt, sollte die .htaccess einmal geöffnet werden. Nun finden wir hier einige Optionen: Um die jeweiligen Funktionen zu aktivieren, muss das # entfernt werden.#Options +FollowSymLinks
Ist diese Option aktiviert, folgt der Server symbolischen Links. (Siehe auch Apache Dokumentation)
#RewriteOptions inherit
Werden mehrere .htaccess Dateien verwendet, weist diese Option die .htaccess Dateie an, die Einstellungen der "Elterndatei" (der höher liegenden) zu übernehmen. Im Grunde funktioniert dies wie der gleichnamige CSS Wert.
#RewriteBase /
Sie benötigen RewriteBase?, wenn das Verzeichnis, in dem die Umleitung stattfindet, nicht über Ihren eigentlichen (physischen) Namen erreichbar ist (beispielsweise, wenn man einen Alias auf das Verzeichnis gesetzt hat). Sie müssen mod_rewrite dann mitteilen, wie das Verzeichnis erreichbar ist.
RewriteRule ^(admin|board|debug|index)(.*)$ $1.php?params=$2 [NC,L]
Hier können noch weitere Dateien eingefügt werden, bei denen mod rewrite angewendet wird.
mod_rewrite ohne Zugriff aufs Admin Panel deaktivieren
Wenn Sie Apache mod_rewrite auf "aus" stellen wollen, aber nicht ins Admin Menu kommen, müssen Sie dies über Ihre Datenbank ändenr. Meist geschieht das mittels PhpMyAdmin.Zuerst loggen Sie sich in PhpMyAdmin ein und wählen Ihre Datenbank aus. Danach müssen sie rechts neben "cs_options" auf den Anzeigebutton klicken (siehe Bild 1). Das Präfix cs_ kann je nach Installation auch abweichen!
Nun suchen sie in der Spalte "options_name" nach "mod_rewrite". Durch klicken auf die Spaltentitel, können Sie die Spalten sortieren. Die ID kann variieren und muss nicht 12 sein!
Jetzt kommt der leichte Teil. Sie müssen nur noch die "1" bei "options_value" löschen und eine "0" reinschreiben. Danach klicken sie auf "OK" und Sie sind fertig.
| htaccess« | mod_rewrite | » |