Autor-Seiten per htaccess umleiten

  • Hallo Leute,

    heute habe ich mal eine Frage an Euch.

    Ich versuche die Autor-Seiten per htaccess auf die Startseite umzuleiten. Eine Möglichkeit gibt es ja,
    damit /?author=1 o. ä. nicht mehr aufgerufen werden kann:

    Apache Configuration
    RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
    RewriteRule (.*) /? [NC,L,R=301]


    Aber wie mache ich es, damit auch /author/name/ umgeleitet wird?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

    • 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 ein Fragezeichen hinter einem .* oder .+ innerhalb einer Klammer folg, hört der Ausdruck auf sich gierig zu verhalten, doch der soll sich in diesem Fall vermutlich gierig verhalten. Ein Fragezeichen hinter einem geklammerten Ausdruck würde hingegen bedeuten, dass der Ausdruck in der Klammer vorkommen kann aber nicht vorkommen muss. In der Schreibweise (.+.?) würde ich es so interpretieren:
    (.+ein beliebiges Zeichen soll mindestens einmal vorkommen, .? ein weiteres beliebiges Zeichen kann vorkommen, doch nur einmal)

    Code
    RewriteCond %{QUERY_STRING} ^.*author=.*$ [NC]

    Aber wie mache ich es, damit auch /author/name/ umgeleitet wird?


    Wenn kein Fragezeichen in der URL, dann ist kein QueryString vorhanden, nur eine URI und bei /author/name/ würde ich es mit REQUEST_URI versuchen.

    Apache Configuration
    RewriteCond %{REQUEST_URI} ^.*/author/name/.*$ [NC]
    RewriteRule .* /? [NC,L,R=301]

    Oder falls mit Verzeichnis, dann halt:

    Apache Configuration
    RewriteCond %{REQUEST_URI} ^.*/author/name/.*$ [NC]
    RewriteRule .* /wordpress/? [NC,L,R=301]

    Das Fragezeichen ist nicht unbedingt erforderlich, da es eigentlich nur die Übernahme eines QueryStrings verhindern soll, der ja nicht vorhanden ist. Wichtiger ist ja, dass ein Wert aus (.*) nicht in $1 gespeichert und mit $1 übernommen wird. Wobei Klammern nicht schaden und ich oft welche benutze, weil es mir erst später einfällt, doch nur dann erforderlich sind, wenn ein Wert aus der Klammer übernommen werden soll.

    Einmal editiert, zuletzt von Melewo (21. Januar 2014 um 08:44)

  • Danke für Eure Antworten. Plugin versuche immer erst zu umgehen, wenn es denn für mich möglich ist. Die htaccess mit ihren Regeln ist für mich noch ziemlich fremd bzw. kompliziert.

    Die Lösung von Melewo trifft wie fast immer genau ins Schwarze:

    Apache Configuration
    RewriteCond %{REQUEST_URI} ^.*/author/*/.*$ [NC]
    RewriteRule .* /? [NC,L,R=301]

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

Jetzt mitmachen!

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