Seite 1 von 1

Text und Variable am Ende aus URL entfernen und ein Teil..

Verfasst: 13.09.2018, 19:32
von derSteffen
Hallo,

ich benötige Hilfe .. nach 15h Stunden testen ... sehe ich kein Licht am Tunnel! Es geht nicht um eine Weiterleitung sondern um die Manipulation der Links in der Webseite!

Problem 1:
Mein kleines CMS erzeugt nach dem .html folgendes:
?PAGE_INST=x
wobei x für ein Zahl steht, welche aber auch mehrstellig werden kann!

Ich bekomme es nicht hin zu sagen, dass auf allen Seiten dieses Ende der URL nicht in meiner ganze Seite (meinem Menü) angezeigt werden soll!


Problem 2:
Ich bekomme es nicht hin ein Teil mitten in der URL zu entfernen! Z.B. /WEGDAMIT/ soll dann nur / sein (also ein Slash).

Auch hier bekomme ich es nicht hin zu sagen, dass auf allen Seiten dieser Teil der URL nicht in meiner ganze Seite (meinem Menü) angezeigt werden soll!

Mit PHP-Anweisungen hatte ich es auch schon probiert, aber da hat dann das CMS "gebockt" also wäre mir eine htaccess-Anweisung lieber, damit ich da nicht so im orignalen Code rum fuschen muss!

Ich wäre über Hilfe echt dankbar!

Steffen

Verfasst:
von

Verfasst: 13.09.2018, 19:51
von Hanzo2012
Verstehe dein Problem nicht. Was hat mod_rewrite mit irgendwelchen Menüs zu tun? (Antwort: nichts)
Mit mod_rewrite & co. kannst du nicht den Inhalt von Seiten ändern. Das musst du in deinem CMS machen.

Verfasst: 13.09.2018, 20:05
von derSteffen
Danke!

Aber man kann doch mit htaccess URLs umschreiben!

Verfasst: 13.09.2018, 20:12
von Hanzo2012
Das ist etwas ganz Anderes. Damit werden höchstens HTTP-Header erzeugt/geändert. HTML kannst du damit nicht ändern.

Verfasst: 13.09.2018, 20:30
von derSteffen
Verstehe! :-(

Aber trotzdem könnte man ja die URL (also oben in der Browserzeile) so manipulieren, bzw. umleiten, das die besagten Teile aus der URL weg sind, richtig?

LG

Verfasst:
von

Verfasst: 13.09.2018, 20:31
von Hanzo2012
Ja, mit einer Umleitung. Besser wäre es aber, von vornherein die richtigen Links in der Seite zu setzen.

Verfasst: 13.09.2018, 20:55
von derSteffen
Es tut mir Leid, aber das bekomme ich nicht hin!
Mich hätte jetzt auch die Lösung interessiert wie es mit htaccess geht!

Verfasst: 13.09.2018, 21:03
von staticweb
> Es tut mir Leid, aber das bekomme ich nicht hin!

Welches CMS?

> Mich hätte jetzt auch die Lösung interessiert wie es mit htaccess geht!

Unnötige Umleitungen sind schlecht. Vor allem mobile.

Re: Text und Variable am Ende aus URL entfernen und ein Teil

Verfasst: 13.09.2018, 23:30
von nerd
Ok, vergiss mal alles was du hier bisher gelesen hast. Bevore du an deiner htaccess rumstuemperst solltest du erstmal klarstellen welches CMS du hast, oder was genau PAGE_INST ist welches du versuchst wegzubekommnen. Wenn dein CMS das da schon an jede URL anhaengt muss es ja einen guten grund dafuer geben. Hast du dir schonmal den quellcode deines CMS angesehen um zu schauen wofuer der parameter gebraucht wird?

Ich sehe hier 2 moeglichkeiten:

1: PAGE_INST koennte vielleicht session_id sein die den user identifiziert. War frueher mal so, dass manche CMS die session_id automatisch an die url angehangen haben weil manche crawler oder clients keine cookies unterstuetzt haben, und da hatte man dann auch das problem dass in den SERPs teilweise die selben seiten mehrmals ( mit unterschiedlicher session_id) gelistet wurden.

2: PAGE_INST ist eine ID, die eine bestimmte seite (und version?) identifiziert, und alles was in der url steht wird vom CMS ignoriert und ist nur kosmetisch oder fuer suchmaschinen dort vorhanden.
Mal angenommen du hast eine url domain.de/blog/beitrag1.htm?PAGE_INST=12345 , was passiert wenn du stattdessen nur domain.de/blog/beitrag1.htm aufrufst, und was passiert wenn du domain.de/?PAGE_INST=12345 aufrufst?
Ist die domain.de/blog/beitrag1.htm immer noch korrekt und der PAGE_INST parameter ist wirklich optional, oder bricht dir die ganze seite weg?

Ich habe mal kurz geschaut, und so wie es aussieht wird PAGE_INST von WebSphere gesetzt. Kann es sein dass du bei irgendeinem massenhoster einen webseitenbaukasten benutzt? Wenn ja dann hast du da wohl schlechte karten...

Verfasst: 14.09.2018, 15:46
von derSteffen
Hallo,

erst mal vielen vielen Dank das Ihr euch mit meinem Problem beschäftigt!


Ich habe versucht eure Vorschläge umzusetzen .. ich habe die Aussgabe des MiniCMS maninipuliert, das zumindest die Variablen (welche keine Rolle spielen) nicht mehr angeziegt werden! Trotzdem hätte mich das interessiert, wie man die URL dafür manipuliert!

Bei meinem zweiten Problem arbeite ich noch dran! Das war der Teil wo ich mitten in der URL einen Teil weg haben möchte! /WEGDAMIT/

Wenn ich das mit PHP direkt versuche

Code: Alles auswählen

$sURL = preg_replace('/WEGDAMIT/', '', $sURL);
... schauen meine Links so aus: https://domain.de//seite.html . Nun stören mich hier aber die beiden zusammenhängenden Slashes.


Um noch die Fragen zu beantworten:
PS: Es spielt(e) keine Rolle was an der URL hinten dran hing, da ich ich die HTML-Seiten immer andere Namen haben. Würde die Seite immer den gleichen Namen haben, dann hätten die Variablen hinten eine Rolle gespielt, weil dann andere Seite aufgerufen werden würden.. aber soweit kommt es bei mir ja nicht.. da immer verschiedene Seitennamen!

Ich nutze den Service von all Inkl.


MfG

Verfasst: 14.09.2018, 16:19
von Hanzo2012
preg_replace ist hier ungeschickt, weil es mit regulären Ausdrücken arbeitet, die man durch zwei gleiche Zeichen am Anfang und am Ende „einrahmt“. Deine Slashes werden daher verschluckt. Schreib mal „@/WEGDAMIT/@“. In deinem Fall genügt aber auch str_replace.

Verfasst: 14.09.2018, 17:19
von staticweb
> .. schauen meine Links so aus: https://domain.de//seite.html . Nun stören mich hier aber die beiden zusammenhängenden Slashes.

Du hast nur den Pfad entfernt und dann noch den Slash als delimiter verwendet . Enweder den Slash escapen oder den delimiter ändern.

preg_replace( '{WEGDAMIT/}', '', $sURL );
preg_replace( '/WEGDAMIT\//', '', $sURL );

Verfasst: 17.09.2018, 06:59
von derSteffen
WOW ... super

Code: Alles auswählen

preg_replace( '{WEGDAMIT/}', '', $sURL );
oder

Code: Alles auswählen

preg_replace( '/WEGDAMIT\//', '', $sURL );
und

Code: Alles auswählen

str_replace('WEGDAMIT/', '', $sURL);
... haben es gebracht! Vielen Dank, das Ihr mir geholfen habt. Jetzt kann ich hier für mich einen großen Haken hinter machen.

MfG