Links umschreiben mit .htaccess

  • Hallo,

    ich hoffe die Kategorie hier ist richtig.

    Ich besitze einen ganz neuen Online-Shop, der über Wordpress läuft. Jedoch habe ich das Problem, dass die die gleichen Produkte über den selben Link aufrufbar sind.
    Aus diesem Grund wollte ich mit der .htaccess die Links umschreiben. Doch leider reagiert das Wordpress nicht auf die htaccess:


    Der rot markierte Teil sollte die Links umschreiben. Ich habe mehrere Varianten durch. Wenn wem was einfällt, bitte sagen.

    Danke für eure Hilfe.

    • 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

  • Vielen Dank für deine Nachricht Toscho.
    Doch leider funktioniert die htaccess nach einigen VErsuchen immer noch nicht. Ich habe mehrere Variationen ausprobiert. Aber es passiert nichts. Nicht einmal eine Fehlermeldung, dass die htaccess falsch ist, und die seite nicht gefunden kann.

    Apache Configuration
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    Redirect permanent /?category=1&product_id=1 http://www.domain/shop/blumen/gelbe-sonnenblumen/

    Habt ihr noch einenn Vorschlag?

  • Nochmal ganz zurück: Du benutzt [FONT="Courier New"]Redirect permanent[/FONT]; das ist eine Direktive aus mod_alias, nicht aus mod_rewrite.
    Deshalb steht sie auch alleine; der ganze Krempel drumherum (RewriteBase usw.) hat da nichts zu suchen.

    Außerdem kannst du sie nur auf einen URL-Pfad anwenden, nicht auf den Query-String. Du brauchst also mod_rewrite.
    Das sähe dann (ungetestet!) so aus:

    Apache Configuration
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} category=1&product_id=1
    RewriteRule ^ /shop/blumen/gelbe-sonnenblumen/ [L,R=301]

    Gruß
    Thomas

    P.S.: Bitte benutze example.com für Beispieldomains, es sei denn, domain.de gehört dir wirklich.

  • Das funktioniert leider auch nicht. Der Server tut einfach nichts, nichts. Keine Meldung, keine Fehlermeldung.
    Kann das Mod_Rewrite deaktiviert sein?

  • Vielen Dank für deine Hilfe Toscho.
    Ich hoffe, dass ist ein Eintrag aus der Datei, der dich interessiert:

    Code
    [Sun Dec 13 16:50:07 2009] [alert] [client XXX.XXX.XXX.XXX] /var/www/XXXX/html/.htaccess: RewriteCond: cannot compile regular expression '?category=1&product_id=1', referer: http://www.example.de/shop/?category=1&product_id=1
  • Jetzt gibts nru noh ein kleineres Problem, aber ich glaub das gröbste ist getan:
    Jetzt greift er auf die Mod-Rewrite Datei und auch auf meine Ausdrücke. Jedoch leitet er bei der folgenden htaccess den Link folgendermaßen um:
    htaccess:

    Apache Configuration
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} category=1&product_id=1
    RewriteRule ^ /shop/blumen/gelbe-sonnenblumen/ [L,R=301]
    </IfModule>

    Bloß das Ergbnis sieht folgendermaßen aus:
    http://www.example.de/shop/blumen/gelbe-sonnenblumen/[COLOR=Red]category=1&product_id=1

    [COLOR=Black]Der hintere rote Teil muss noch weg. Ich probiers noch ein wenig. Wenn jemand die Lösung hat, bitte raus damit!

    Danke
    [/COLOR][/COLOR]

  • Jetzt lässt sich der Link wunderbar umschreiben. Jedoch tritt jetzt ein anderes Phänomen auf: Jetzt wird die gesamte Seite nicht mehr gefunden und es tritt ein 404 Fehler auf? Warum zur Hölle das denn?
    Es lässt sich auf nicht mehr die Katgorie http://www.example.de/shop/ aufrufen. Schon dort gibt es Fehler.
    Weiß wer warum?

  • Vielleicht sollte ich noch erwähnen, dass sich die .htaccess in dem Verzeichnis /html/shop/ befindet.
    Dort befindet sich die htaccess, die du mir gegeben hast! Im Unterverzeichnis /html/ befindet sich keine htaccess.

  • Vielen Dank Toscho für deine Hilfe. Es klappt jetzt beinahe perfekt. Es gibr nur noch ein problem.

    Apache Configuration
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} category=1&product_id=10
    RewriteRule ^ /shop/blumen/rote-tulpen/ [L,R=301]
    </IfModule>


    Bei diesem Beispiel hat ist die Ausgangsbasis, dass die ID 10 ist. Bei unserem vorigen Beispiel war es immer 1. Jedoch schreibt er diesen Link auf die selbe Seite, als ob die ID 1 wäre. Da hat er iwie Probleme.

  • Vielen Dank toscho für deine durchgängigen Mühen und Hilfen. Leider macht er da auch nur das selbe, also keine Umschreibung.

    Weißt du noch was?

    Einmal editiert, zuletzt von Magnu (19. Dezember 2009 um 15:24)

  • Dein Trick funktioniert. Jedoch schreibt er jetzt alle Links mit 2 stelliger ID auf die den ersten Link mit zweistelliger ID in der htaccess.

    Weißt du da noch Rat?

Jetzt mitmachen!

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