Plugin Advanced Mod Rewrite für Contenido 4.8.x

Polardrache
Beiträge: 55
Registriert: Fr 22. Apr 2005, 15:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von Polardrache » Do 4. Dez 2008, 13:54

Mit dem Workaround geht es wieder. Danke!

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Beitrag von _wiewo_ » Fr 5. Dez 2008, 09:07

Hab nen Problem...

Früher Linux Server, nun Windows2003 mit Plesk im zusammenspiel...

Was ist mein Problem? GENAU, mod_rewrite is dem lieben IIS6 nen fremdwort
krieg ich dieses modul auch irgendwie anders zum laufen? bin völlig verzweifelt ><

Kann ich die Regeln der .htaccess die standard hierbei ist zb in ISAPI_Rewrite eintragen?

umwandeln und weiterleiten würd er das bestimmt genau so, aber, hm,.... :( hilfe :(

lG
_wiewo_

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Fr 5. Dez 2008, 10:08

Hallo _wiewo_,

guckst du hier :arrow: http://www.aspheute.com/artikel/20021106.htm

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Beitrag von matt.loker » So 7. Dez 2008, 02:10

Hallo zusammen,
ich hab die Version 0.5.0rc ausprobiert aber leider macht die bei mir unerklärbare Sachen. Deswegen habe ich einfach wieder auf die 0.4.5 umgesattelt. Nun meine Frage:
Ich habe eine zusätzliche Variable in der URL "ca". Nach ModRewrite sieht die URL dann so aus
-> produkte/produktuebersicht.html?ac=49.

Wie bringe ich es fertig, dass auch dieses ac mitverarbietet wird?

Danke für die Hilfe
matt

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » So 7. Dez 2008, 13:51

Hallo matt,
matt.loker hat geschrieben:...ich hab die Version 0.5.0rc ausprobiert aber leider macht die bei mir unerklärbare Sachen. Deswegen habe ich einfach wieder auf die 0.4.5 umgesattelt. Nun meine Frage:
Ich habe eine zusätzliche Variable in der URL "ca". Nach ModRewrite sieht die URL dann so aus
-> produkte/produktuebersicht.html?ac=49. ...
auch wenn die 0.5.0rc noch nicht eine entgültige Version ist, sollte das von dir beschriebene Verhalten nicht passieren. Ich habe das mal mit dem Testscript /cms/mr_test.php Probiert, es gab keine Auffälligkeiten.
Zeile 634

Code: Alles auswählen

        $param[] = 'foo=bar';
gegen

Code: Alles auswählen

        $param[] = 'ca=49';
ersetzt.
Dann werden allen URLs der Parameter ca=49 angehängt - und funktioniert wie es sein sollte.

Das der Test nicht die bei dir vorhandenen Bedingungen abbilden kann, wäre es nicht schlecht zu wissen, wie die URLs mit dem Parameter aussehen, bevor das Plugin sie umschreibt. Kannst du das Plugin mal deaktivieren und ein paar ausgegebene Beispiel URLs inkl. des ca-Parameter hier posten (also front_content.php?idart=123&ca=49...)?

[nachtrag]
Nich dass wir das jetzt falsch auffassen.
Hast du ein Problem, weil das Plugin aus dem Parameter "ca" ein "ac" macht, oder möchtest du, dass das Plugin den Parameter "ca" mit dem Wert in die URL ala ".../ac/49/..." integriert?
Wenn du das Zweitere meinst, so wäre das mit ein paar Anpassungen möglich, das Ergebnis wäre dann in etwa /produkte/produktuebersicht.html/ac/49.
Dazu müsstest du zum Einen die Contenido_UrlBuilder_MR-Klasse erweitern damit die URL /produkte/produktuebersicht.html/ac/49 erstellt wird, zu Anderen die ModRewriteController-Klasse, damit solche ankommende URLs wieder aufgedröselt werden.
[/nachtrag]

Gruß
xmurrix

matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Beitrag von matt.loker » So 7. Dez 2008, 14:26

Entschuldige - ich habe das wohl etwas unglücklich formuliert und verschrieben habe ich mich auch noch wie ich sehe *kopfschüttel*. Ich hatte andere Probleme mit der 0.5er und bin dann wieder zurück auf die Vorgängerversion gewechselt. Das hatte aber nichts mit der Frage zu tun.
Ich kann aber mal beschreiben wa die 0.5er für faxen gemacht hat:
in einer Kategorie hatte ich 3 Artikel
1. Überblickseite-> Aliasname: Ueberblickseite
2. Produkt 1: Typ 141 -> Aliasname: Typ_141
2. Produkt 1: Typ 210 -> Aliasname: Typ_210

Im Frontend hatte das Produkt2 (Typ_210) den link vom Produkt1 (Typ_141) erhalten und Produkt 1 (Typ_141) den Link von der Überblickseite (Ueberblickseite). Somit kam ich, wenn ich auf Produkt2 geklickt habe auf die Seite von Produkt 1 und wenn ich auf Produkt 1 gelklickt habe auf die Überblicksseite zurück. Nachdem ich die 0.4.5 aufgespielt hatte lief alles wieder OK.

PS: Danke für die Hilfe - ich werde mich mal daran versuchen :)

Grüße
Matt

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » So 7. Dez 2008, 22:09

matt.loker hat geschrieben:...
Im Frontend hatte das Produkt2 (Typ_210) den link vom Produkt1 (Typ_141) erhalten und Produkt 1 (Typ_141) den Link von der Überblickseite (Ueberblickseite). Somit kam ich, wenn ich auf Produkt2 geklickt habe auf die Seite von Produkt 1 und wenn ich auf Produkt 1 gelklickt habe auf die Überblicksseite zurück. Nachdem ich die 0.4.5 aufgespielt hatte lief alles wieder OK...
Das werde ich mir noch ansehen, vermutlich ist da noch ein Bug drin, danke für die Info.

Nachtrag:
In der Version 0.5.0rc wurde das Verhalten beim Umgang mit den Aliasen grundlegend geändert, ich vermute, dass dein Problem daher kommt.

Das Plugin bietet mehr Flexibiliät bei der Vergabe der Trennzeichen (Pfad, Kategorien, Artikel, usw.), damit die Aliase immer richtig interpretiert werden, muss im Gegenzug bei der Vergabe der Aliase darauf geachtet werden, dass als Trennzeichen zwischen den Wörtern das "-" Zeichen angegeben wird - so wird der Alias dann in der Tabelle gespeichert. In früheren Versionen wurden die in der Pluginkonfiguration gesetzten Trennzeichen gespeichert, das ist mittlerweile nicht mehr der Fall, das Plugin Konvertiert zwischen Contenido Aliasen und den Eigenen hin und her.

Bei deinen Seiten wären dann die Aliase z. B. als "Typ-210" und "Typ-141" anzugeben.
Soll aber bei der Ausgabe der URL der Name mit Unterstrich sein (Typ_210), kann der Unterstrich in der Pluginkonfiguration unter "Artikelwort-Separator" gesetzt werden - dann werden alle Artikelnamen mit Unterstrich als Trennzeichen ausgegeben.

Code: Alles auswählen

Beispiele:

Artikelname: Typ 210
Artikelalias: Typ-210
Artikelname in der URL: Typ_210 (wenn Artikelwort-Separator = "_")

Kategoriename: Neue Produkte
Kategoriealias: Neue-Produkte
Kategoriename in der URL: Neue-Produkte (wenn Kategoriewort-Separator = "-")
Je nach Bedarf, kann das Feature zu Steuerung der Trennzeichen suboptimal sein, ich mach mir mal Gedanken über eine andere Lösung.

Bin zwar kein SEO-Profi, aber soweit ich weiß, ist die Verwendung von Bindestrichen in der URL der Verwendung von Unterstrichen vorzuziehen, weil das das wohl besser sein soll.

Gruß
xmurrix

busi
Beiträge: 82
Registriert: Mi 18. Sep 2002, 13:36
Kontaktdaten:

Beitrag von busi » Mo 8. Dez 2008, 22:28

Hallo xmurrix

Besten Dank für den Tipp. Habe das redirect modul angepasst mit

Code: Alles auswählen

// hier custom parameter hinzufügen
$str_xhtml = $cfgClient[$client]["path"]["htmlpath"] . $sess->url("front_content.php?" . $str_params);
$str_xhtml = CEC_Hook::execute('Contenido.Frontend.CreateURL', $str_xhtml);
@ob_flush();
header ("Location: " . $str_xhtml);
page_close();
exit(); 
Leider funktionierts nicht ganz. Ist das Plugin aktiviert, passiert nichts wenn ich auf den Link klicke. Keine Weiterleitung, keine Fehlermeldung. Hast du noch eine Idee was ich anpassen muss?

Danke und Gruss
busi

"...please forgive me, now I see that I've been blind..."

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mi 10. Dez 2008, 01:22

Hallo,

ich war mir sicher, dir gestern Abend dazu geantwortet zu haben, jedenfalls habe ich den Beitrag abgeschickt, der ist aber nirgends zu finden...

Dann halt nochmal in einer Kurzfassung. Die folgende überarbeitete Modulausgabe funktioniert bei mir ohne Probleme, auf die Details möchte ich jetzt nicht eingehen, ist spät geworden:

Code: Alles auswählen

<?php 
/********************************************* 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname : Redirect Intern 
* Version : 0.1 
* Author(s) : Stefan Seifarth <info@polycoder.de> 
* Created : 27-11-2005 
**********************************************/ 

//$selected_cat = (int) 12; // test catid
$selected_cat = (int) "CMS_VALUE[666]";

if ($selected_cat > 0) {

    $str_params = "changelang=" . $lang . "&client=" . $client;

    $db5 = new DB_Contenido;

    $sql5 = "SELECT A.startidartlang FROM ".$cfg["tab"]["cat_lang"]." AS A WHERE A.idcat = '".$selected_cat."'";
    $db5->query($sql5);
    if ($db5->next_record()) {
        $str_params .= "&idcat=" . $selected_cat . "&idart=" . $db5->f("startidartlang");

        $str_xhtml = $cfgClient[$client]["path"]["htmlpath"] . $sess->url("front_content.php?" . $str_params);
        $str_xhtml = CEC_Hook::execute('Contenido.Frontend.CreateURL', $str_xhtml);
        header ("Location: " . $str_xhtml);
        @ob_flush();
        page_close();
        exit();
    }
}

?>
Gruß
xmurrix

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Beitrag von _wiewo_ » Fr 12. Dez 2008, 17:02

Hat schon jemand Erfahrung mit der neuen Version [4.8.9]?
ModRewrite ohne Probs kompatibel?
Setz grad nen neuen Server auf, würd das sonst gleich draufpacken :)

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Sa 13. Dez 2008, 00:22

Hallo _wiewo_,
_wiewo_ hat geschrieben:Hat schon jemand Erfahrung mit der neuen Version [4.8.9]?
ModRewrite ohne Probs kompatibel?
Setz grad nen neuen Server auf, würd das sonst gleich draufpacken :)
das Plugin wird nicht auf anhieb mit Contenido 4.8.9 funktionieren, um es unter 4.8.9 zum Laufen zu bekommen, sind ein paar Scripte anzupassen.

Mehr Aufwand bei der Integration gibt es mit der Pluginversion 0.4.5, bei der 0.5.0rc ist weniger zu tun, allerding ist die 0.5.0rc noch nicht ganz ausgereift.

@all:
Habt gedult, bald gibt es eine neue Pluginversion - vielleicht sogar zur Bescherung, aber versprechen kann ich das nicht...

Grüße
xmurrix
Zuletzt geändert von xmurrix am So 14. Dez 2008, 18:47, insgesamt 1-mal geändert.

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Beitrag von _wiewo_ » Sa 13. Dez 2008, 09:30

hab glaubn problem/bug mit der 0.5.0rc

hab hinter jedem artikel den "Kategorie-Artikel-Separator" stehen
anzusehen auf => http://www.awo-bruchhausen-vilsen.de/co ... hp?idart=2

das "~" steht immer hinter der kategorie

Artikelname an URLs anhängen => aus
Zeitpunkt zum Generieren der URLs => Beim Generieren des Codes der Seite
Art des generierens =>
return CEC_Hook::execute('Contenido.Frontend.CreateURL', $sLink);


EDIT

hab jetzt sogar gesehen das die links die er erzeugt, also der erste wert hinter der domain, nich die kategorie ist, sondern der artikel der als startseite markiert ist.... oO hrm, ähm, *downgrade auf 0.4.5*^^

liegt kein artikel in der kategorie so zeigt er nur "~" hinter der domain an, selbst die regel ob der Name des Hauptbaumes erscheinen soll greift dann nicht.


also mein fazit.. :) links werden jetzt immer direkt auf den startartikel erstellt, nicht mehr auf die kategorie? und dadruch ist das "~" bei mir immer präsent?



aus
http://www.awo-bruchhausen-vilsen.de/fr ... 1&client=1
macht der per cec_hook und "~" als "Kategorie-Artikel-Separator"
http://www.awo-bruchhausen-vilsen.de/der_ortsverein~
lG
_wiewo_

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » So 14. Dez 2008, 19:11

Hallo,
_wiewo_ hat geschrieben:...
hab jetzt sogar gesehen das die links die er erzeugt, also der erste wert hinter der domain, nich die kategorie ist, sondern der artikel der als startseite markiert ist.... oO hrm, ähm, *downgrade auf 0.4.5*^^...
die 0.5.0rc ist leider nicht tauglich für den Produktiveinsatz, da gibt es ein paar Bugs auszumerzen, daher solltest du auf die 0.4.5 wechseln, einfach die Sourcen von 0.4.5 drüberkopieren und den Plugininstaller aufrufen und Update durchführen (Für den Installer ist es auch von 0.5.0rc zu 0.4.5 ein Update, weil die Versionen unterschiedlich sind).
_wiewo_ hat geschrieben:...also mein fazit.. :) links werden jetzt immer direkt auf den startartikel erstellt, nicht mehr auf die kategorie? und dadruch ist das "~" bei mir immer präsent?...
Die "~" sollte nur dann erscheinen, wenn das Zeichen als Trenner zwischen Kategorie u. Artikel definiert wurde und die generierte URL inkl. des Artikelnamen auszugeben ist. Das ist bei dir nicht nötig, da du das Anhängen des Artikelnamen an die URL abgestellt hast. Es sollte also .../der_ortsverein/ ausgegeben werden und nicht .../der_ortsverein~ - Ein eindeutiger Bug in der Version 0.5.0rc.

Gruß
xmurrix

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Di 16. Dez 2008, 08:53

Hallo zusammen,

ich hab das Paket von stese damals sehr intensiv genutzt. Mittlerweile gibt es ja eine Contenido-Version, die von Hause aus schon ein extra Alias-Feld in den Artikeleigenschaften mitbringt. Tolle Sache.

Durch diesen Beitrag http://forum.contenido.org/viewtopic.ph ... highlight= bin ich auf die Datei /contenido/classes/UrlBuilder/Sample.php gestoßen. Nutzt dieses ModRewrite den UrlBuilder? Ist ModRewrite damit jetzt vom Tisch? Gibt es denn zu den Beispiele auch schon die jeweilige htaccess? Ich könnte mir vorstellen, dass man das Rewrite über die Mandanteneinstellung aktiviert.

Oder hat ModRewrite mit dem UrlBuilder nichts zu tun?

Oldperl
Beiträge: 4254
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Beitrag von Oldperl » Di 16. Dez 2008, 09:06

doppelter Post gelöscht :wink:

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Gesperrt