Seite 19 von 53
Optimierungsvorschlag
Verfasst: Do 25. Mai 2006, 09:36
von panti
Hi Stese
Auf Zeile 930 in front_content.php steht folgender Code:
Code: Alles auswählen
$str_all = preg_replace("/([\"|\'|=])front_content\.php(.?|.+?)([\"|\'|>])/ie", "stripslashes('\\1'.ModRewrite::build_new_url('\\2').'\\3')", $str_all);
Würde es die Replace-Performance verbessern, wenn du diesen preg_replace durch preg_replace_callback ersetzen würdest?
Gruss
Pantelis
Verfasst: Fr 26. Mai 2006, 08:41
von stese
ja ist möglich - werde ich bei der nächsten gelegenheit mit einbauen
Verfasst: So 28. Mai 2006, 01:40
von i-fekt
Bei mir werden Umlaute im Rewriting weggelassen. Ist das Absicht oder ein Bug? Ich hätte gedacht, dass Umlaute wie ä, ö, ü und ß zu ae, oe, ue und ss umgewandelt würden?
Verfasst: So 28. Mai 2006, 09:36
von stese
ja das lag an der falschen utf-8 konvertierung der datei includes/functions.api.string.php - entweder ersetzt du diese aus einem früheren bundle oder nimmst das eben auf der website aktualisierte bundle und ersetzt die datei dort.
@panti
ich habe die callback funktion mal eingebaut, bringt jedoch nix.
test bei meiner eigenen seite - startseite:
mit preg_preplace - parameter e - 0,0115 sekunden
mit preg_replace_callback - 0,0114 sekunden
insgesamt kann es auch nicht so wirklich viel schneller werden, da die ersetzungsfunktion ziemlich umfangreich ist, und somit die eigentlichen preg_match bedingungen eine eher untergeordnete rolle spielen.
wenn du in den quelltext meiner seite gehst findest du als letzte zeile einen kommentar mit der ausführzeit dieser ersetzungs funktionen.
.htaccess richtig anpassen
Verfasst: Mo 29. Mai 2006, 18:38
von panti
Hallo
Meine Contenido-Installation befindet sich unter <path>/contenido/
Das Backend liegt unter <path>/contenido/contenido/
Das Frontend unter <path>/contenido/cms/
http://www.domain.ch/ zeigt auf <path>
Nun habe ich die .htaccess ins <path> gestellt und folgende Anpassungen gemacht:
Code: Alles auswählen
RewriteBase /
#Verzeichnisse auschliessen
RewriteRule ^(backup|cgi-bin|cp|images|modlogan|old|webalizer)/.*$ - [L]
#upload Verzeichnis zugänglich machen
RewriteRule ^(css|js|upload)/(.*)$ contenido/cms/$1/$2 [QSA,L]
...
RewriteRule ^(.*).html$ contenido/cms/front_content.php?artname=$1 [QSA,L]
RewriteRule ^$ contenido/cms/front_content.php [QSA,L]
#Aufrufe der "front_content.php" funktionistüchtig machen
RewriteRule ^front_content.php.*$ contenido/cms/front_content.php [QSA,L]
Ich habe nicht alle Rules eingefügt. Zur Veranschaulichung habe ich mich nur auf das Wesentliche konzentriert.
Es läuft, doch ich finde, dass diese Anpassungen nicht optimal bzw. richtig richtig sind. Oder irre ich mich da? Wer hat eine optimale Lösung?
Vielen Dank für die Hilfe.
Pantelis
Verfasst: Mo 29. Mai 2006, 21:50
von stese
nimm meine htaccess und passe die rewrite base an.
wo platzieren?
Verfasst: Mo 29. Mai 2006, 22:57
von panti
Hi Stese
Wo platziere ich die .htaccess-Datei? Unter <path>. Die Stamm-URL muss
http://www.domain.ch/ lauten.
Verfasst: Di 30. Mai 2006, 06:13
von maccaroni
morgen
die .htaccess muss in deinem installationsverzeichnis liegen, also
www.domain.ch/contenido/
in der .htaccess-datei dann unter
RewriteBase anpassen auf «/contenido/cms»
wenn du die contenido-installation nicht im root selber installiert hast musst du halt die index.php ins root verschieben und den include-path anpassen (contenido/contenido/includes/config.php).
hoffe, nichts falsches erklärt zu haben
gruss ronan
Verfasst: Di 30. Mai 2006, 19:28
von effex
Zunächst möchte ich mich für die tolle Arbeit bei stese bedanken.
Ich habe aber ein Problem:
In meiner Mandanteneinstellung ist folgender Pfad als Web-Adresse definiert
Generiert wird allerdings:
Ein Test in der Standardversion verlief positiv.
Und es funktioniert auch, wenn ich den entsprechenden Eintrag in der config.php mache. Das sollte aber nicht Sinn der Sache sein.
Wie lässt sich der richtige Pfad für Mandanten generieren?
Verfasst: Di 30. Mai 2006, 20:04
von mvf
wie sieht denn deine rewrite base in der htacess aus?
im original steht:
Code: Alles auswählen
# achtung bitte basisverzeichnis anpassen!
RewriteBase /cms
schon mal mit
Code: Alles auswählen
# achtung bitte basisverzeichnis anpassen!
RewriteBase /domain.de/cms
versucht
Verfasst: Di 30. Mai 2006, 20:11
von effex
wie sieht denn deine rewrite base in der htacess aus, und wo liegt die?
Habe 'RewriteBase /domain.de/cms' und 'RewriteBase /cms' ausprobiert. Geht nicht.
Die htaccess-Datei liegt im Verzeichnis 'cms'.
Verfasst: Di 30. Mai 2006, 20:15
von mvf
mal probiert die htaccess ins root zu legen mit /domain.de/cms
Verfasst: Di 30. Mai 2006, 20:37
von effex
mal probiert die htaccess ins root zu legen mit /domain.de/cms
Das funktioniert. Allerdings müsste ich jetzt meinen ganzen Server umorganisieren bzw. einrichten, da es sich hierbei nur um ein Unterverzeichnis handelt.
Und was ist mit den anderen Mandanten?
Verfasst: Di 30. Mai 2006, 20:40
von mvf
wenn ich recht erinnere gibt es da schon posts zu, also einfach mal diesen thread rückwärts quer lesen, und vor allem auch die aktuellen docs zur mr-version von stese aus dem zip beachten
Verfasst: Do 1. Jun 2006, 15:31
von abrek
Hallo!
Ich habe die aktuelle Version ( AdvancedMod Rewrite 4.6.8 ) von stese eingespielt und installiert. Alles wie beschrieben ist.
Sobald ich mod_rewrite in config.php eingeschaltet und _.htaccess in .htaccess umbenannt habe,
bekomme ich im frontend sowie im backend immer wieder Fehler 500.
Ich weiß bestimmt, dass Server .htaccess unterstützt.
Woran kann es liegen?
Dank im Voraus.