Wie ausgewählte URL's umschreiben?

  • Suche momentan nach einer Möglichkeit zum Umschreiben nachfolgender URL's


    1. von: domain.de/memeber/username <--dynamisch
      nach: domain.com/user/username <--dynamisch

      also member soll in user umgeschrieben werden

    2. domain.de/suche?frm_search=Suchbegriff&x=0&y=0

      der Zusatz &x=0&y=0 sollen in &expired=1 umgeschrieben werden


    Jemand eine Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wenn du einen Custom Post Type erstellt hast für "member" kannst du diesen einfach in "user" umbenennen. Oder woher leitet sich die Domain bei dir zusammen?

  • Ich habe bis vor kurzem BuddyPress unter member (domain/member/username) genutzt. Beim Zusammenlegen der MultiSite-Installation zu einer einzigen Webseite, habe ich mir dann gedacht ich ändere den BuddyPress-Link einfach in user um. Leider habe ich auf der Seite noch sehr viele Links die auf domain/member/username verlinken.

  • Eigentlich heißt der Slug in BuddyPress "members" und ändern kann man das über Konstanten: https://buddypress.org/2009/05/custom…-in-buddypress/

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Eigentlich heißt der Slug in BuddyPress "members" und ändern kann man das über Konstanten: https://buddypress.org/2009/05/custom…-in-buddypress/

    Der Slug ist bereits von member (bzw. members) in user geändert. Die User-Profile können auch ganz normal über domain.de/user/Benutzername aufgerufen werden. Bloß wird an einigen Stellen auf bestimmte Benutzerprofile verlinkte z.B. domain.de/member/Benutzer-Irgendwas, diese Links führen dann zu einer 404-Seite, weil der Slug member (bzw. members) in user geändert wurde.

  • RewriteRule ^member/(.*)$ /user/$1 [R=301,NC,L]
    RewriteRule ^members/(.*)$ /user/$1 [R=301,NC,L]

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • RewriteRule ^member/(.*)$ /user/$1 [R=301,NC,L]
    RewriteRule ^members/(.*)$ /user/$1 [R=301,NC,L]

    Das hat jetzt funktioniert ;-). Vielen Dank


    Bräuchte jetzt noch hierfür eine Lösung


    1. domain.de/suche?frm_search=Suchbegriff&x=0&y=0

      der Zusatz &x=0&y=0 sollen in &expired=1 umgeschrieben werden

  • der Zusatz &x=0&y=0 sollen in &expired=1 umgeschrieben werden

    keine gute Idee aber wenn es sein muss, mal mit folgender Regel versuchen

    RewriteCond %{QUERY_STRING} ^(.*)&x=0&y=0(.*)$ [NC]
    RewriteRule ^/?(.*)$ /$1&expired=1$2 [R=301,L]

    URL Rewrites machen immer Sinn wenn man etwas umleiten muss oder eine lesbare URL zu bekommen.
    GET Parameter sollte man von vorherein richtig übergeben. Geht es nicht in der Funktion selbst (kein Filter für die Argumente) dann kann man sich auch mit pre_get_posts() helfen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Das führt anscheinend zu einer Redirect-Schleife?
    http://www.domain.de/suche/&expired…begriff&x=0&y=0

    Aber wenn du in diesem Fall von einer Umleitung per htaccess abrätst, was wäre die Alternative? Nachfolgend der Code aus der searchform.php

    <form method="get" id="searchform" action="<?php echo esc_url( home_url( 'suche' ) ); ?>/">
    <input type="text" class="searchinput" name="frm_search" id="frm_search" value="Suchen.." onfocus="if (this.value == 'Suchen..') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Suchen..';}">
    <input type="image" src="<?php bloginfo('template_directory'); ?>/images/search_btn.png" class="searchsubmit" />
    </form>


    Wenn ich nun <input type="image" src="<?php bloginfo('template_directory'); ?>/images/search_btn.png" class="searchsubmit" /> entferne, dann verschwindet auch der Zusatz &x=0&y=0 aus der URL, dann ist aber auch die Schaltfläche mit der Lupe im Suchfeld weg. Und dann bekommt den Zusatz &expired=1 noch immer nicht an die URL angehangen.

    Vielleicht sieht hier jemand eine Möglichkeit, den Zusatzparameter zu ersetzen und auch noch die Schaltfläche mit der Lupe zu erhalten?

  • Ich hatte schon geschrieben was man tun kann: pre_get_posts()

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Damit wird dann aber wahrscheinlich jedes mal auf der Seite /suche der Parameter angehangen. Ich benötige das hingegen nur für die eine Eingabe in das Suchfeld in der Menüleiste. Ansonsten werden wahrscheinlich die Suchfilter auf der Such-Seite unbrauchbar.

    Wahrscheinlich ist das Umschreiben der eine konkreten URL mit dynamischen Suchbegriff in diesem Fall die bessere Lösung, weil das &x=0&y=0 wird nur bei der Eingabe in das Suchfeld in der Menüleiste angehangen.

  • Du schreibst die Parameter ja auch konditional nur für diese Query um und nicht für jede. Schau Dir doch mal das query Object für diese Abfrage an in dem Du Dich in pre_get_posts() einhookst.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Komme mit dem [COLOR=#333333]pre_get_posts() nicht klar.

    Gib es womöglich mit dem WP-Plugin "Redirection ([/COLOR]https://de.wordpress.org/plugins/redirection/[COLOR=#333333])" eine Möglichkeit folgendes umzusetzen?

    Wenn: domain.de/[/COLOR]suche?frm_search=Suchbegriff&x=0&y=0
    Dann: [COLOR=#333333]domain.de/[/COLOR]suche?frm_search=Suchbegriff&expired=1

    Suchbegriff - änderst sich je nach Eingabe

  • Es ist schade, dass immer weniger Ratsuchende sich mit der Materie auseinandersetzen obwohl man das Fundament für die Lösung bereits geliefert hat.

    Wenn die Reihenfolge der Argumente im Querystring garantiert so bleibt, wie von Dir dargestellt, könntest Du meinen Vorschlag für den Rewrite doch testweise einfach mal umschreiben:

    Apache Configuration
    RewriteCond %{QUERY_STRING} ^(.*)&x=0&y=0$ [NC]
    RewriteRule ^/?(.*)$ /$1&expired=1 [R=301,L]

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!