1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Wie ausgewählte URL's umschreiben?

Dieses Thema im Forum "Konfiguration" wurde erstellt von avals, 15. April 2016.

Schlagworte:
  1. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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?
     
  2. rmwp

    rmwp Member

    Registriert seit:
    4. August 2015
    Beiträge:
    16
    Zustimmungen:
    0
    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?
     
  3. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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.
     
  4. JABA-Hosting

    JABA-Hosting Well-Known Member

    Registriert seit:
    29. März 2016
    Beiträge:
    2.991
    Zustimmungen:
    199
    Ungetestet per htaccess:

     
  5. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    hat leider nicht funktioniert :(
     
  6. JABA-Hosting

    JABA-Hosting Well-Known Member

    Registriert seit:
    29. März 2016
    Beiträge:
    2.991
    Zustimmungen:
    199
    Kannst du sagen, was nicht nicht funktioniert hat? Wohin die Seite geleitet hat?
     
  7. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    Bei der Eingabe von domain/member/avals erscheint eine 404-Seite

    Nachtrag: domain/member führt ebenfalls zu einer 404-Seite
     
  8. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
  9. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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.
     
  10. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    RewriteRule ^member/(.*)$ /user/$1 [R=301,NC,L]
    RewriteRule ^members/(.*)$ /user/$1 [R=301,NC,L]
     
  11. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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
     
  12. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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.
     
  13. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    Das führt anscheinend zu einer Redirect-Schleife?
    http://www.domain.de/suche/&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1&expired=1?frm_search=Suchbegriff&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?
     
  14. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ich hatte schon geschrieben was man tun kann: pre_get_posts()
     
  15. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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.
     
  16. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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.
     
  17. avals

    avals Well-Known Member

    Registriert seit:
    9. März 2014
    Beiträge:
    71
    Zustimmungen:
    0
    Komme mit dem pre_get_posts() nicht klar.

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

    Wenn: domain.de/
    suche?frm_search=Suchbegriff&x=0&y=0
    Dann: domain.de/suche?frm_search=Suchbegriff&expired=1

    Suchbegriff - änderst sich je nach Eingabe
     
  18. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden