Mod Rewrite Regel für Pfad ohne "/wordpress/"?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mod Rewrite Regel für Pfad ohne "/wordpress/"?

    Mein WordPress ist folgendermaßen eingerichtet:

    Wordpress URL: http://www.shufflegrip.com/wordpress
    Blog URL: http://www.shufflegrip.com

    (Wobei die Domain shufflegrip.com auf macinfo.beeven.de weitergeleitet wird.)

    Das automatisch generierte .htaccess dazu:

    Quellcode

    1. # BEGIN WordPress
    2. <IfModule mod_rewrite.c>
    3. RewriteEngine On
    4. RewriteBase /
    5. RewriteCond %{REQUEST_FILENAME} !-f
    6. RewriteCond %{REQUEST_FILENAME} !-d
    7. RewriteRule . /index.php [L]
    8. </IfModule>
    9. # END WordPress


    Das Blog ist also über shufflegrip.com/
    erreichbar, um aber die alten Links auch noch abzufangen
    bräuchte ich die Erreichbarkeit über shufflegrip.com/wordpress/.

    Leide bekomme ich so nur die Front Page ohne Content,
    stattdessen einen 404.

    Wie müsste ich denn dafür mein .htaccess anpassen, und
    in welchen folder muss es dann in den obersten oder in den
    eins tiefer gelegenen "/wordpress"?

    (Es ginge zwar wenn ich die WordPress-Einstellung ändern würde,
    dann würde der Pfad aber immer das ".../wordpress/..." in der URL
    mitanzeigen, was ich nicht möchte.)

    Vielen Dank schon im voraus!

    Steve56
  • in dem fall funktioniert keine unsichtbare weiterleitung, da wordpress gerade die weiterleitungsoptionen verwendet um den inhalt auszulesen

    stattdessen benötigst du also eine URL Weiterleitung

    Quellcode

    1. RewriteEngine On
    2. RewriteBase /
    3. RewriteCond %{REQUEST_URI} wordpress/(.*)
    4. RewriteRule . /%1 [L,R=301]
    5. RewriteCond %{REQUEST_FILENAME} !-f
    6. RewriteCond %{REQUEST_FILENAME} !-d
    7. RewriteRule . /index.php [L]
  • Danke d0nUt, für deine Antwort; leider hab ich’s damit nicht hinbekommen.
    (habe die .htaccess sowohl in das Toplevel-Verzeichnis meiner Zieldomain,
    und/oder auch in den Wordpress Ornder gelegt)

    Vielleicht erkläre ich es besser vom Ende her. ;)

    Ich möchte z.B., über diese alte URL:

    http://macinfo.beeven.de/wordpress/2006/09/20/wiesn2006/

    die aktuelle erreichen: http://macinfo.beeven.de/2006/09/20/wiesn2006/

    (Die Domainumleitung habe ich jetzt mal weggelassen, die spielt auch keine
    Rolle, wie es scheint.)

    Ich müsste also die URL nur so umformen, dass "/wordpress" darin
    eliminiert wäre, dann würde es klappen.

    Steve56
  • Nach ausgiebiger Suche in den Weiten des Netzes (bis 5:30 AM :|) hab ich jetzt herausgefunden, das man so eine Umleitung ja auch schön über "Redirect" in der .htaccess machen kann, brauche dafür dann nicht einmal mod_rewrite.

    Habe jetzt folgende Zeile in der .htaccess-Datei hinzugefügt:

    Quellcode

    1. Redirect 301 /wordpress/2006/ http://www.shufflegrip.com/2006/


    Diese bewirkt genau, was ich wollte, 1. das /wordpress fällt aus der URL raus, und 2. die Domain wird auch gleich noch auf die aktuelle, in der WordPress-Konfiguration eingetragene, umgestellt.

    Würde mich jetzt nur noch interessieren, welche Vorteile mod_rewrite denn gegenüber einer Weiterleitung per Redirect hat?

    Steve56
  • "d0nUt" schrieb:

    Mod Rewrite kann weit mehr als eine Weiterleitung

    Die Rewrite-Engines erlauben zusätzlich, die Adressumleitung von Bedingungen abhängig zu machen, zum Beispiel von der referenzierenden URL, dem User-Agent oder der IP-Adresse des anfragenden Nutzers.

    Mein Code von oben läuft übrigens unter apache2 genau, wie du wolltest


    Komisch vielleicht lag es daran, dass meine Domain (shufflegrip.com) auf Strato liegt und WordPress mit seinen Verzeichnissen auf macinfo.beeven.de.

    Das ist wirklich zum verrücktwerden, Strato lässt z.B. kein mod_rewrite zu, daher kann ich nur auf macinfo.beeven.de diese Dinge machen, oder wo meintest du, sollte ich die Regeln einfügen, in meine Hauptdomain oder in der weitergeleiteten?

    Steve56