Komplexes htaccess-Problem

  • Hallo,


    ich habe ein etwas komplexeres Problem mit der htaccess. Vorab nur soviel: An der Verzeichnisstruktur kann ich nichts ändern.


    Also es gibt im Root-Verzeichnis eine htaccess (die nenne ich jetzt htaccess-root)


    Es gibt in der 1. Ebene der Domain ein Verzeichnis /website-neu/, in dem ebenfalls eine htaccess liegt (die nenne ich hier htaccess1).


    Es gibt zwei Verzeichnisse in zweiter Ebene, nennen wir sie /kunde1/ und /kunde2/, in denen sich jeweils eine eigene WP-Installation befindet, die ihrerseits auch eine htaccess hat, die ich mal htaccess2-k1 und 2-k2 nenne. Soweit so schlecht. :-(


    Mir geht es jetzt um Umleitungen von Seiten, die nicht mehr existieren. Unproblematisch ist das für fehlerhafte Dateien aus den Kundenverzeichnissen, die habe ich per 301-Redirect-Plugin umgeleitet, was funktioniert.


    Nun existieren aber noch 404-Fehler von Dateien, die ursprünglich im Root-Verzeichnis lagen, also z.B. domain.de/firma/geschichte/. Die kann ich nicht per redirects aus den Kundenverzeichnissen abgreifen, denke ich. (Wenn ich hier falsch liege, bitte sagen).


    Sobald ich aber redirects in die htaccess-root eintrage, wo sie meiner Meinung nach hingehören, zerschießt es mir alle Inhalte oberhalb der Root-Ebene. Dann sehe ich nur noch einen 500er Fehler, die Startseite funktioniert allerdings noch.


    In der htaccess-root steht nicht viel mehr drin als
    AddType x-mapp-php5 .php
    AddHandler x-mapp-php5 .php


    Ich habe die redirect-Befehle einfach dahinter geschrieben, als
    redirect301 /firma/geschichte/ http://domain.de/kunde1/geschichte.


    Vielleicht besteht hierin ja der Fehler. Ein Kollege meinte, ich solle dies mittels RewriteBase zu realisieren.


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


    Allerdings bin ich da bei meiner komplexen Seitenstruktur überfragt, wie das konkret auszusehen hat. Hat jemand einen Tipp oder gibt es eine simple Lösung?


    Danke!


    Ullrich

    • 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

  • Möchtest Du Redirects ausführen oder möchtest Du dass die alte URL erhalten bleibt und dafür eine andere Seite ausgelöst wird. Letzteres lässt sich über die interne WP-Rewrite lösen. Redirects sind hingegen in der htaccess im Root von WP gut aufgehoben. Nur weiß ich nicht, was bei Dir Root ist, da unklar formuliert.

    Ich meine Root vom Webspace ist Root vom Webspace, doch wenn die Domains von den beiden WP-Installationen auf /kunde1/ und /kunde2/ verweisen, dann sind das die Root-Verzeichnisse für die beiden Domains.

  • Hallo Melewo,

    danke für die Antwort. wie gesagt, etwas komplex das Ganze.

    Also, ich denke, die Website war ursprünglich vollständig im Root-Verzeichnis domain.de angelegt. Aus dieser Zeit existieren wohl noch die Dateien, die ich weiterleiten möchte, also z.B. domain.de/firma/geschichte. In diesem Ordner liegt die htaccess-root.

    Irgendwann wurde die Website erneuert und dafür hat man auf dem Server einen Ordner domain.de/website-neu/ eingerichtet. Hier liegt die htaccess1.

    In diesem Ordner befinden sich zwei weitere Ordner domain.de/website-neu/kunde1/ und /…kunde2/. In jedem dieser Ordner existiert eine WP-Installation, die wiederum mit einer htaccess ausgestattet ist, htaccess2-k1 und htaccess2-k2. Ich weiß, das ist total idiotisch aber leider nicht zu ändern.


    Zurück aber in den root-Ordner, da ich denke, dass die Umleitungen hier eingerichtet werden müssen. Ich möchte redirects, die alten Adressen existieren nicht mehr (werden mir beim Webmastertool aber als 404 ausgegeben). Die Umleitung auf eine Datei im Ordner domain.de/website-neu/kunde1/ ist erst einmal nicht so schwierig, wenn ich aber direct redirect301 eingebe, dann ist die Website außer der Startseite weg, ich bekomme nur noch 500er Fehler angezeigt.

    Jetzt kam der Tipp mit der rewrite Base aber da bin ich etwas überfragt…

    Vielleicht kannst Du mir da helfen?

    Danke!

    Einmal editiert, zuletzt von UBemmann (13. Februar 2014 um 14:01)

  • An der Base würde ich nichts verändern, wenn diese von WP so angelegt wurde. Sonst findet sich WP nicht mehr zurecht. Wobei sich aber gleichzeitig die Frage stellt, warum die Base / enthält und nicht /website-neu/kunde1/?
    Oder verwechselst Du die Verzeichnisstruktur vom Webspace mit der von den Domains, falls Du auf beide Verzeichnisse eine aufgeschaltet haben solltest, was nicht so richtig aus Deiner Antwort hervorgeht?

    Ist das nun alles nur unter einer Domain erreichbar oder wie?

  • Hallo Melewo,

    die Frage verstehe ich nicht ganz: "warum die Base / enthält und nicht /website-neu/kunde1/?"
    Das Verzeichnis der Website ist domain.de/kunde1/ bzw. domain.de/kunde2/

    Wenn ich jetzt darüber nachdenke, ist es sicher sinnvoll, die htaccess1 zu ändern, denn die befindet sich ja die im aktuellen Rootverzeichnis der Domain, die dem Ordner /website-neu/ entspricht, oder?

    Habe es gerade mal mit einer Änderung (also nur mit dem Einbau der redirects) versucht, da fällt dann sogar die Startseite mit aus...

    Einmal editiert, zuletzt von UBemmann (13. Februar 2014 um 15:51)

  • Ehrlich gesagt blicke ich nicht durch, ist mir zu verworren. Wenn ich zwei Installationen unter

    "http://www.example.com/wordeins/"
    und
    "http://www.example.com/wordzwei/"

    habe, dann würde auch in jedem Verzeichnis eine htaccess liegen mit

    RewriteBase /wordeins/
    bzw.
    RewriteBase /wordzwei/

    Und wenn das nicht der Falls sein sollte und WP dennoch funktioniert, dann verstehe ich schon nicht wieso, denn WP legt die von sich aus bei einer Installation eigentlich so an.

    Erklärbar wäre es eigentlich nur dann, wenn auf jedem Verzeichnis eine Domain zeigen würde und das konnte ich bisher nicht herauslesen.

  • Ja, verworren ist es auf jeden Fall. Sind aber keine unterschiedlichen Domains, sondern nur "Verzeichnisse". Na egal, mal sehen, ob ich's irgendwie hinbekomme...

    Danke trotzdem!

Jetzt mitmachen!

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