WordPress-URL – Ein GET-Parameter muss entfernt werden

Lesezeit: 2 Minuten

Benutzer-Avatar
Zar

Ich weiß, es gibt viele Threads für .htaccess URL-Umschreiben, aber mein Fall scheint etwas anders zu sein und ich habe viel versucht, aber es funktioniert nicht.

Meine aktuelle URL: http://example.com/forest/trees/?type=perennial

Was ich brauche ist: http://example.com/forest/trees/perennial

Ich muss nur die entfernen ?type= aus der URL.

EDIT: Die URL kann Bindestriche enthalten - zwischen Zeichenfolgen an beliebiger Stelle (außer natürlich dem Domänennamen). Es kann sein dense-forest oder non-perennial zu.

Es ist ein benutzerdefinierter Code und ein Plugin, daher kann es nicht geändert werden. Ich brauche nur die URL verschönert.

Jede Hilfe wäre sehr willkommen.


Was ich bisher probiert habe in .htaccess:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /forest\/trees\/\?type=([^&]+)
RewriteRule ^ \/forest\/trees\/%2\/? [L,R=301]

und

RewriteRule ^\/forest\/trees\/([^/]*)?  /forest/trees/?type=$1 [L]

Mein aktueller WordPress .htaccess ist:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Danke im Voraus. 🙂 Prost!

Benutzer-Avatar
Florian Lemaitre

Sie können dies verwenden .htaccess Datei:

# BEGIN WordPress
RewriteEngine On
RewriteBase /

RewriteRule ^forest/trees/([^/]+)$ /forest/trees/?type=$1

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Jetzt mögen URLs http://example.com/forest/trees/perennial wird intern umgeleitet zu /forest/trees/?type=perennial und dann zum WordPress Dispatcher /index.php.

  • Der Begriff perennial ist eine Variable. Kann alles enthalten. Können Sie Ihre Antwort so ändern, dass sie mit einer beliebigen Zeichenfolge übereinstimmt? Möglichkeiten sind oak, great-banyan.

    – Zar

    8. Februar 2016 um 10:59 Uhr

  • Mein Fehler, ich habe es vergessen. Ist jetzt behoben 😉

    – Florian Lemaitre

    8. Februar 2016 um 11:02 Uhr

  • Es hat nicht funktioniert. Ich erhalte die Fehlermeldung 404 – Seite nicht gefunden. :-/

    – Zar

    8. Februar 2016 um 11:03 Uhr

  • Wenn Sie eintreten http://example.com/forest/trees/?type=perennial es funktioniert aber http://example.com/forest/trees/perennial (nein / am Ende) nicht ?

    – Florian Lemaitre

    8. Februar 2016 um 11:07 Uhr

  • Richtig.. Das funktioniert: http://example.com/forest/trees/?type=perennial Dies nicht: http://example.com/forest/trees/perennial Verwenden Sie dies vor dem Neuschreiben des WP-Index: RewriteRule ^forest/trees/([^/]+)$ /forest/trees/?type=$1

    – Zar

    8. Februar 2016 um 11:09 Uhr

1206500cookie-checkWordPress-URL – Ein GET-Parameter muss entfernt werden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy