Moved_XH erweitern

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
albert
Posts: 404
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Moved_XH erweitern

Postby albert » Mon Nov 13, 2017 9:33 am

Hallo,
tolles Plugin Moved_XH :!: Großes Kompliment Christoph und Danke!

Hat mir schon jetzt sehr geholfen, dass nach der Umstellung auf Umlautersetzung einige Suchergebnisse trotz der Umbenennung gefunden werden.
Bleibt aber noch viel zu tuen, sehe ich in der Log-Datei (auch die ist eine super Hilfe...)

Mein Wunsch wäre, dass man mit Moved auch alle Unterseiten mit einem Aufwasch umleiten könnte
z.B. habe ich (und da gibt es noch viel mehr)
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Batik
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Biber
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Blumen
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Flanell
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Karo
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Streifen

würde nicht sowas wie
*%2525C3%25259Cbersicht*=*Uebersicht*
oder *Stoff_%2525C3%25259Cbersicht*=*Stoff_Uebersicht*
irgendwie machbar sein?
Last edited by cmb on Mon Nov 27, 2017 11:43 am, edited 1 time in total.
Reason: Tippfehlerkorrektur

olape
Posts: 329
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Moverd_XH erweitern

Postby olape » Mon Nov 13, 2017 10:18 am

Ja, den Vorschlage hatte ich auch schon.
Leider geht es momentan noch nicht.

Falls bei dir .htaccess und mod_rewrite unterstützt wird, könntest du das so lösen:

Code: Select all

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(einzelne\_Produkte\:Stoff\_%2525C3%25259Cbersicht|einzelne\_Produkte\:Stoff\_%2525C3%25259Cbersicht\:(.*))$ [NC]
# für Defaultsprache
RewriteCond %{REQUEST_URI} ^/$ [NC]
# für Zweitsprache, Beispiel de
#RewriteCond %{REQUEST_URI} ^\/de\/$ [NC]
RewriteRule .* http://%{HTTP_HOST}\?Stoff_Uebersicht [R=301,L]
# für Zweitsprache, Beispiel de
#RewriteRule .* http://%{HTTP_HOST}/de/\?Stoff_Uebersicht [R=301,L]

</IfModule>


Wenn du nur eine Sprache hast, dann reicht auch

Code: Select all

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(einzelne\_Produkte\:Stoff\_%2525C3%25259Cbersicht|einzelne\_Produkte\:Stoff\_%2525C3%25259Cbersicht\:(.*))$ [NC]
RewriteRule .* http://%{HTTP_HOST}\?Stoff_Uebersicht [R=301,L]

</IfModule>


Wenn ich nicht wieder irgendwo einen Syntaxfehler eingebaut habe, dann sollte das alle diese Seiten:
albert wrote:einzelne_Produkte:Stoff_%2525C3%25259Cbersicht
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Batik
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Biber
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Blumen
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Flanell
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Karo
einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:Stoff-Streifen

auf ?Stoff_Uebersicht umleiten.

Ich hoffe, du hast beim Neuaufsetzen an die Ersetzung aller Umlaute, Leerzeichen und Sonderzeichen gedacht.
URLs wie diese %2525C3%25259Cbersicht sind doch nicht so sehr schön.

Zum Testen vielleicht erst mal 302 statt 301 verwenden. Die Umleitungen sind bei den Browsern sehr anhänglich.
Sonst muss man ständig den Cache des Browsers zurücksetzen.

albert
Posts: 404
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Re: Moverd_XH erweitern

Postby albert » Mon Nov 13, 2017 12:17 pm

Danke Olaf, das klappt ja schon mal wunderbar :!:
habs getestet und so kanns erstmal bleiben :)

cmb
Posts: 12036
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Moverd_XH erweitern

Postby cmb » Mon Nov 13, 2017 1:06 pm

albert wrote:würde nicht sowas wie
*%2525C3%25259Cbersicht*=*Uebersicht*
oder *Stoff_%2525C3%25259Cbersicht*=*Stoff_Uebersicht*
irgendwie machbar sein?

Ja. So etwas in dieser Art steht auch seit einer Weile auf der Roadmap. Allerdings sind die Details etwas unklar. Sollen solche Platzhalter einfach genau durch das ersetzt werden, wofür sie stehen (so wie in deinem Beispiel angedacht), oder sind auch "Ausgabe-Platzhalter" nötig (davon wird bei mod_rewrite oft Gebrauch gemacht)? Soll immer nur die erste passende Regel verwendet werden, oder alle passenden Regeln? Welche Platzhalter sollen unterstützt werden?

Ich habe mal einen Entwurf vorbereitet (zum Ausprobieren einfach die grünen Zeilen in DbService.php einfügen – ohne die Pluszeichen am Zeilenanfang). Damit sollte folgende Regel funktionieren:

Code: Select all

*%2525C3%25259Cbersicht*=$1Uebersicht$2


olape wrote:Ja, den Vorschlage hatte ich auch schon.

Wäre die obige Variante sinnvoll?
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

olape
Posts: 329
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Moverd_XH erweitern

Postby olape » Mon Nov 13, 2017 2:14 pm

cmb wrote:

Code: Select all

*%2525C3%25259Cbersicht*=$1Uebersicht$2


olape wrote:Ja, den Vorschlage hatte ich auch schon.

Wäre die obige Variante sinnvoll?

Ich bin mir nicht sicher, mir fällt jetzt keine Situation ein, in der ich das so brauchen könnte.
Aber das besagt ja nicht, dass das nicht jemand so nutzen würde.

Ich würde es trotzdem nur so machen.

Code: Select all

%2525C3%25259Cbersicht*=Uebersicht$1


Selbst wenn jemand mehrere gleich aufgebaute Zweige hat, die man in deinem Beispiel mit einer Regel abdecken könnte,
es werden nicht so viele sein, das man die Variante mit nur einem Platzhalter nicht sinnvoll einesetzen könnte.
Dann eben vielleicht 2,3 ..5 oder 6 x.

cmb wrote:Sollen solche Platzhalter einfach genau durch das ersetzt werden, wofür sie stehen (so wie in deinem Beispiel angedacht), oder sind auch "Ausgabe-Platzhalter" nötig

Und wenn

Code: Select all

%2525C3%25259Cbersicht*=Uebersicht$1
und

Code: Select all

%2525C3%25259Cbersicht*=Uebersicht
möglich wären, dann ist uns der A... geheilt.

cmb
Posts: 12036
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Moverd_XH erweitern

Postby cmb » Mon Nov 13, 2017 3:03 pm

olape wrote:
cmb wrote:Sollen solche Platzhalter einfach genau durch das ersetzt werden, wofür sie stehen (so wie in deinem Beispiel angedacht), oder sind auch "Ausgabe-Platzhalter" nötig

Und wenn

Code: Select all

%2525C3%25259Cbersicht*=Uebersicht$1
und

Code: Select all

%2525C3%25259Cbersicht*=Uebersicht
möglich wären, dann ist uns der A... geheilt.

Ja, beides sollte grundsätzlich möglich sein. In Alberts Fall haut es aber nicht hin, weil ja vor %2525C3%25259Cbersicht noch weitere Zeichen stehen (und immer die vollständige Seiten-URL übereinstimmen muss). Daher meine Variante mit zwei Asterisk-Platzhaltern.

Allgemein können links beliebig viele Platzhalter, und rechts beliebig viele Ersetzungs-Platzhalter verwendet werden. Ein * steht für beliebige Zeichen, ein ? für ein beliebiges Zeichen (Seitentrenner werden nicht besonders berücksichtigt). Die erste passende Regel wird verwendet, und dann nicht weiter geprüft.

Ein paar Beispiele (so nicht unbedingt sinnvoll, aber ggf. sinnvoll kombinierbar):
  • Alternative (explizitere) Variante für Alberts Beispiel:

    Code: Select all

    einzelne_Produkte:Stoff_%2525C3%25259Cbersicht:*=einzelne_Produkte:Stoff_Uebersicht:$1
  • verschieben aller <h2> Seiten einer bestimmten <h1> Seite auf die oberste Ebene:

    Code: Select all

    AlteH1Seite/*=$1
  • verschieben aller <h2> Seiten nach <h1>:

    Code: Select all

    */*=$2
  • verschieben aller <h2>-<h6> Seiten nach <h1>, außer den Unterseiten der <h1> Seite "Bleibt":

    Code: Select all

    */*=$2

    (die Regel ist mit der vorherigen identisch, da Bleibt/* ja weiterhin gefunden wird, und nur für nicht gefundene Seiten ein Redirect ins Spiel kommt)
  • verschieben aller Seiten unter eine neue <h1> Seite "Neu" (vorher max. 3 Ebenen):

    Code: Select all

    */*/*=Neu/$1/$2/$3
    */*=Neu/$1/2
    *=Neu/$1
  • Umbennen von News-Seiten:

    Code: Select all

    News0?=Neuigkeiten0$1
Das ganze ist zwar nicht so mächtig wie mod_rewrite Regeln, aber dafür wohl sehr viel leichter verständlich, und sollte hoffentlich die üblichen Fälle abdecken.

Ansonsten gilt: wer mit mod_rewrite arbeiten kann, sollte das vielleicht besser tun, weil es einfach effizienter ist, als Moved_XH.
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

olape
Posts: 329
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Moverd_XH erweitern

Postby olape » Mon Nov 13, 2017 4:06 pm

cmb wrote:Ansonsten gilt: wer mit mod_rewrite arbeiten kann, sollte das vielleicht besser tun, weil es einfach effizienter ist, als Moved_XH.

Mag sein, dass es effizienter ist. Aber wesentlich umständlicher, nur per ftp machbar und man hat die Seite schneller abgeschossen.

Also wenn das mit Moved_XH alles machbar ist, dann wäre das sehr gut. Es kann halt aus dem Backend heraus bedient werden.

Ich fürchte eben nur, das simple wird wieder ein wenig darunter leiden.

Ich hatte schon mal überlegt, ob es Vorteile bringen würde, wenn man die alte URL reinkopiert und für die neue eine Auswahl (wie interne Verlinkung im Editor) da wäre. Das funktioniert dann zwar nur bei einfachen Weiterleitungen bzw. nur, wenn wenigstens das Ziel nicht variabel ist, aber immerhin.

Sonst wirklich gut in der Hilfe dokumentieren.

albert
Posts: 404
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Re: Moverd_XH erweitern

Postby albert » Thu Nov 16, 2017 8:50 am

Dieses

Code: Select all

*%2525C3%25259Cbersicht*=$1Uebersicht$2
scheint sehr gut zu funktionieren. Danke

albert
Posts: 404
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Re: Moverd_XH erweitern

Postby albert » Fri Nov 17, 2017 10:04 am

hi,
ich wollte grad mal die Regeln sichern, aber wo werden die denn gespeichert???
Es gibt ein Verzeichnis

Code: Select all

/content/moved
aber das ist leer...

Erledigt - schon gefunden
trotzdem komisch: es gibt das leere Verzeichnis moved, die Datei ist aber im Ordner Content (ganz unten)

cmb
Posts: 12036
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Moverd_XH erweitern

Postby cmb » Fri Nov 17, 2017 10:39 am

albert wrote:trotzdem komisch: es gibt das leere Verzeichnis moved, die Datei ist aber im Ordner Content (ganz unten)

Das moved/ Verzeichnis dürfte ein Relikt von einer älteren Version sein. Dieses wird seit Moved_XH 1.0beta3 nicht mehr benötigt, und kann einfach gelöscht werden.
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+


Return to “Deutsch”

Who is online

Users browsing this forum: No registered users and 1 guest