Support » Allgemeine Fragen » Permalink der Suche ändern

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Mir würde auch schon ein kleiner Tipp reichen … oder ein keyword, dass ich bei google etwas suchen kann. Ich weiß halt nicht wo ich anfangen soll bzw. wo genau (datei/functio) die redirects von WP stattfinden.

    Moderator espiat

    (@espiat)

    Ich würde sagen, dass du hier nicht nur die .htaccess, sondern auch die rewrite regeln von wp überschreiben müsstest.

    Hierzu 2 links, die ich deinem Problem zuordnen würde und könnten zum Lösungsansatz beitragen:

    Change the Search-URL of WordPress

    http://stackoverflow.com/questions/18137067/how-to-change-search-query-string-to-permalink-in-wordpress

    Hi Es piaT,
    wenn ich diesen code in meine function.php einfüge

    function change_search_url_rewrite() {
        if ( is_search() && ! empty( $_GET['s'] ) ) {
            wp_redirect( home_url( "/blub/" ) . urlencode( get_query_var( 's' ) ) );
            exit();
        }
    }
    add_action( 'template_redirect', 'change_search_url_rewrite' );

    und diese url aufrufe „http://domain.com/blub/berlin“ dann bekomme ich immer noch einen 404 fehler.

    Könnte das evtl an einem plugin liegen?
    – GD Star Rating
    – Global Hide/Remove
    – Admin Bar Plugin
    – Infinite Scroll
    – Limit Login Attempts
    – Login Logo
    – WordPress SEO
    – WP Favorite Posts
    – WP Missed Schedule
    – WP Super Cache

    ich hab nun alle PlugIns deaktivert … 404 erscheint immer noch.
    Hat jemand noch eine Idee wie ich rausfinden kann wo diese Weiterleitung stattfindet? Bzw. wie ich den oberen code zum laufen bekomme?

    Bin immer noch für jeden Tipp sehr dankbar.

    Moderator espiat

    (@espiat)

    Hi, wollte mich nochmal melden. Habe mir mal dein Problem angesehen. Ist nämlich etwas freaky.

    Folgendes bekomme ich hin:

    example.com/suchpermalink/SUCHWORT

    Sobald ich aber z.B.

    example.com/Suchwort

    nehme, bekomme ich auch eine 404- ich denke, dass es damit zusammenhängt, dass WP an der Stelle auf einen Post/ Page zugreifen will, der ja nicht existiert. Das Problem dabei ist, dass es ja auch ein Suchwort geben kann, was exakt einem Permalink einer Seite zuzuordnen ist.

    z.B. example.com/impressum -> was dann? eigentlich ist es ja das Suchwort, aber zugleich der Permalink des Impessums.

    Tests mit dem index.html am Ende habe ich nicht gemacht, sondern mich erstmal auf den ersten Teil konzentriert.

    Ich bin mir nicht sicher, ob es an der Stelle eine Lösung gibt?
    Hast du schon eine Lösung gefunden?

    Hi Es piaT,
    erst einmal danke für deine Mühe.
    Ich bin bei der Sache auch nicht weiter gekommen. Hab damit nun Tage verbracht und immer noch keine Lösung :/

    Sobald ich aber z.B.
    example.com/Suchwort
    nehme, bekomme ich auch eine 404- ich denke, dass es damit zusammenhängt, dass WP an der Stelle auf einen Post/ Page zugreifen will, der ja nicht existiert. Das Problem dabei ist, dass es ja auch ein Suchwort geben kann, was exakt einem Permalink einer Seite zuzuordnen ist.

    Richtig, daher muss die Suchurl auch so lauten:
    http://domain.com/suchwort/index.html

    example.com/impressum -> was dann?

    RewriteEngine On
    RewriteBase /
    RewriteRule ^([a-z0-9-]+)/index\.html$ /index.php?page=$1 [L,NC,QSA]

    Dort würde meine Regex-Rule ja nicht greifen.
    Es gibt auch keine anderen Seite, auf die, die obige Rule zutreffen würde.

    Mann müsste WP einfach nur sagen
    Gib nur einen 404 Fehler aus wenn diese Regex-Rule ^([a-z0-9-]+)/index\.html$nicht auf die eingegebene URL passt.

    Weisst du zufällig in welcher Datei/Zeile WP den 404 redirect macht?

    Grüße
    simpleXX

    Moderator espiat

    (@espiat)

    Hallo SimpleXX,

    hast du das Problem schon lösen können?

    Wenn nicht, dann probiere es mal hier: http://forum.wpde.org/

    Dies ist weitaus mehr frequentiert, als dieses Forum.

    Viel Glück

    Moderator Torsten Landsiedel

    (@zodiac1978)

    Frank Bültge hat dazu mal einen Artikel geschrieben:
    http://bueltge.de/wordpress-such-url-aendern/1293/

    Gruß, Torsten

    Moderator espiat

    (@espiat)

    Hallo Torsten,

    vielen Dank für den Linktipp, jedoch scheint die Sache nicht so einfach zu lösen zu sein.

    Ein Umschreiben von xyz.com/suchpräfix/suchwort

    auf

    xyz.com/neues-suchpräfix/suchwort

    ist nicht das Problem.

    Das Problem hier bei ist das fehlen eines Suchpräfixes:
    xyz.com/suchwort und dann noch ein index.html hinten dran.

    Also so: http://domain.com/suchwort/index.html

    Das habe ich nicht gelöst bekommen.

    Moderator Torsten Landsiedel

    (@zodiac1978)

    Das kann nicht funktionieren.

    Wenn ich das richtig sehe, müsste das nicht so lauten:
    RewriteRule ^([a-z0-9-]+)/index\.html$ /index.php?page=$1 [L,NC,QSA]

    Sondern so:
    RewriteRule ^([a-z0-9-]+)/index\.html$ /index.php?s=$1 [L,NC,QSA]

    Wir wollen ja bei angehängtem „/index.html“ auf die Suche und keine Seite aufrufen.

    Bei aktivierten Permalinks würde die URL am Ende allerdings weider umgeschrieben werden zum WP-Standard mit dem Suchpräfix. Denn nach dem Umleiten landet es ja bei /?s=Suchwort und dann greifen die WP-Redirects.

    Was passiert denn, wenn man bei diesem Code das Suchpräfix rausnimmt:

    function change_search_url_rewrite() {
        if ( is_search() && ! empty( $_GET['s'] ) ) {
            wp_redirect( home_url( "/blub/" ) . urlencode( get_query_var( 's' ) ) );
            exit();
        }
    }
    add_action( 'template_redirect', 'change_search_url_rewrite' );

    Wenn das zu dem oben genannten Konflikt führt, dann gibt es dazu IMHO keine Lösung.

    Ich verstehe auch ehrlich gesagt den Sinn dahinter nicht. Warum sollte eine dynamische Suche als statische Seite (index.html) erscheinen?

    Gruß, Torsten

    simpleXX

    (@simplexx)

    ich habs aufgegebem … egal welchen weg ich gehe, es funktioniert :/

Ansicht von 11 Antworten - 1 bis 11 (von insgesamt 11)
  • Das Thema „Permalink der Suche ändern“ ist für neue Antworten geschlossen.