Da ich gestern von Olox gefragt wurde, wie man index.php Seiten verbietet, weil er nämlich auch den Style von Ilch.de haben will mit user-details-1.html, stelle ich euch hier mal ein Tutorial zusammen, damit das auch jeder andere machen kann.
Vorraussetzung:
Einen Editor mit Syntaxhervorhebung, wie PSPad
Etwas Ahnung von PHP und HTML
Etwas viel Zeit^^
1. Öffnet die include/includes/class/tpl.php und macht folgende Änderungen
/*
@ Diese Funktion war mal eingebaut
ich denke aber wenn jemand die seite
suchmaschienen optimieren will, dann
sollte er schon soviel ahnung haben es selber
hinzubekommen. diese funktion kann aber dabei helfen!
... ansonsten wird es von mir sicher mal einen mod
geben der die aufgabe uebernimmt!
diese funktion kann nicht einfach freigeschaltet (auskommentiert) werden
sie hat dann ueberhaupt keine auswirkung ;)...
*/ // Hinzugefügt
function giveback ($c) {
global $allgAr;
# diese funktion gibt den inhalt aus.
# damit kann der inhalt nochmal nachbereitet werden.
# pruefen ob alle ?... durch ....htm ersetzt werden sollen
# wenn ja tun und return c ;-)
if ( $allgAr['replace_template_to_html'] == 1 AND ($this->ort == 0 OR $this->ort == 2) ) {
$c = preg_replace ('%href=\"?([^\"]+)\"%Uis',"href=\"index.php?\1\"",$c);
$c = preg_replace ('%href=\"index.php?([-0-9A-Z]+)#([a-zA-Z0-9]+)\">%Uis',"href=\"\1.html#\2\">",$c);
$c = preg_replace ('%href=\"index.php?([-0-9A-Z]+)\">%Uis',"href=\"\1.html\">",$c);
Das bewirkt, dass alle Links die in einem Template ausgegeben werden automatisch umgewandelt werden.
Aber das reicht noch nicht
2. Logt auch in eure Datenbank ( PHPMyAdmin ) ein und drückt auf den SQL Button ( oben mittig ), fügt das ein.
!!! Ändert das prefix ic1 in eures !!!
Code
1:
INSERT INTO `ic1_config` (`schl`, `typ`, `kat`, `frage`, `wert`, `pos`) VALUES ('replace_template_to_html', 'r2', 'Allgemeine Optionen', 'Soll es eine .html URL sein?', '0', 0);
Jetzt könnt ihr im Adminmenü->Konfiguration->Allgemeine Optionen die HTML Url's aktivieren.
Das gröbste ist fertig.
3. Eine Datei Namens .htaccess anlegen mit dem Inhalt
Code
1: 2: 3:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*).html$ ?$1
Sorgt dafür, dass die HTML Seiten an die index.php übergeben werden, sonst passiert ja nix. Außerdem ist es eine versteckte Weiterleitung, d.h. es bleibt user-details-1.html in der URL stehen, aber es wird index.php?user-dateils-1 ausgeführt.
Leider ist das noch nicht alles, deswegen das mehr Zeit.
Jeder Link der mit echo "<a href..."; ausgegeben wird, wird leider nicht umgewandelt, diese müssen per Hand geändert werden. D.h. ihr öffnet JEDE Datei, die in include/contents/ und include/boxes/ ist und schaut nach, ob dort solch ein Link ausgegeben wird. Dann den Link ändern, also das index.php? löschen und hinten .html ranhängen.
That's all ^^
Falls noch Fragen oder Probleme sind, einfach nachfragen...
Mit böhsen Grüßen
[BU]BöhserOnkel "Gli eroi vivono a lungo, ma le leggende non muoiono mai..."