1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP 404 und via htaccess

Dieses Thema im Forum "Konfiguration" wurde erstellt von miccom, 7. November 2008.

  1. miccom

    miccom Well-Known Member

    Registriert seit:
    2. Juli 2006
    Beiträge:
    193
    Zustimmungen:
    0
    Hallo zusammen,

    ich nutze eine 404.php in meinem Theme um fehlerhafte Links abzufangen und das funktioniert auch wie gewünscht. Nun will ich aber um server load zu sparen, fehlerhafte Grafiken ein eigenes 404-Bild spendieren statt der von WP generierten 404-Seite. Eigentlich sollte das problemlos mit dem:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    oder dem:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    als htaccess-Eintrag machbar sein, WP drängelt sich aber immer dazwischen mit der eigenen 404-Seite und ich weiß nicht, wie ich das verhindern kann. Ich habe das ErrorDocument sowohl in der htaccess im root-Verzeichnis als auch im Ordner der Bilder eingetragen. Laut:
    http://codex.wordpress.org/Creating_an_Error_404_Page#Help_Your_Server_Find_the_404_Page
    sollte das ja machbar sein.

    Bin für Ideen dankbar!
     
  2. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.694
    Zustimmungen:
    0
    Ob der gegebene Code stimmt oder ob man das so spezifisch für Bilder definieren kann, kann ich Dir nicht sagen. Aber wenn es so geht, musst Du es auf jeden Fall *über* den WordPress-htaccess-Code schreiben. Denn die drei WP-Anweisungen sagen im Endeffekt aus, dass alle Aufrufe, die weder auf einen Ordner noch auf eine Datei auf der Platte passen, an die index.php von WP geschickt werden, welche dann ggf. zur internen 404-Seite weiterleitet.
     
    #2 Ammaletu, 7. November 2008
    Zuletzt bearbeitet: 8. November 2008
  3. miccom

    miccom Well-Known Member

    Registriert seit:
    2. Juli 2006
    Beiträge:
    193
    Zustimmungen:
    0
    Das habe ich eigentlich auch gemacht und ja der Code geht, kannst du auch testen, aber das schräge ist, er geht nur, weil ich darunter eine falsche RewriteRule gesetzt habe die einen "File not found" produziert... habe das hier erläutert:

    404-Grafik für Smilies - GreenSmilies
     
  4. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.694
    Zustimmungen:
    0
    Nur ganz kurz noch eine Idee dazu: Ich nehme an, dass nur die Fehlerseite zu definieren nicht reicht. Apache wird dann trotzdem die weiteren Regeln noch durchgehen und dann am Ende doch an WP weiterleiten. Also müsste man die WP-Regeln vielleicht nachbauen: Wenn der Aufruf auf das Bildermuster passt und nicht auf eine vorhandene Datei passt, dann umleiten auf den Fehlersmiley und den 404-Code schicken. Und vor allem danach keine weiteren Regeln mehr abarbeiten. Kriegst Du das so hin oder soll ich mich mal dran probieren?
     
  5. miccom

    miccom Well-Known Member

    Registriert seit:
    2. Juli 2006
    Beiträge:
    193
    Zustimmungen:
    0
    Ich glaube ich weiß was du meinst, aber ich weiß nicht genau wie ich das umsetzen soll. Ich bin übrigens gerade drauf gekommen, dass folgendes:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    gar nicht funktioniert...

    Derzeit sieht meine "Lösung" so aus:

    Die .htaccess im root macht das:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Im Ordner wo die umzuleitenden Grafiken liegen, macht eine eigene .htaccess dies:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Die RewriteRule ist falsch, liefert ein "File not found" und dann greift das ErrorDocument. Ohne die RewriteRule käme die WP eigene 404 Seite. Was müsst ich im root nun deiner Meinung nach anders machen?
     
  6. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.694
    Zustimmungen:
    0
    Ok, ich probier's mal. Aber keine Garantie, dass das folgende wirklich eine gute Lösung ist. Direkt ein profi bin ich mit dem Apache auch nicht. ;)

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Das einfach über den vorhanden WP-Block schreiben. Es sollte dann folgendes passieren (lokal bei mir klappt es auch): Du setzt erstmal Apache-weit den Smiley als 404-Dokument für alle fehlenden Dateien/Ordner in diesem Ordner und den Unterordnern. Dann wird für alle Bilderaufrufe, bei denen das Bild nicht gefunden werden kann, gleich der 404 geschickt. Die Zeile sieht zwar nach Redirect aus, schickt in meinem Test aber einfach den 404. Möglicherweise kann man das korrekter und eindeutiger ausdrücken, keine Ahnung. Es scheint aber zu gehen.

    Alle anderen Aufrufe gehen weiter an die WordPress-Regel darunter, incl. aller nicht gefunden Nicht-Bilder-Aufrufe. Die kriegen also weiterhin die WP-404-Seite.
     
  7. miccom

    miccom Well-Known Member

    Registriert seit:
    2. Juli 2006
    Beiträge:
    193
    Zustimmungen:
    0
    Fühl dich gedrückt! Danke dir. :)
     
  8. miccom

    miccom Well-Known Member

    Registriert seit:
    2. Juli 2006
    Beiträge:
    193
    Zustimmungen:
    0
    Jetzt habe ich noch einen weiteren Fall, den ich gerne via 404-Error-Grafik abfangen möchte. Dieser tritt auf wenn Grafiken von mir abgerufen werden, wo hinten an die Dateinamenerweiterung einfach dran geschrieben wird, z.B.:

    grafik.gifsinnlosertextoderwasauchimmer

    Hier greift FilesMatch leider nicht und zeigt die 404-WP-Seite statt der 404-Grafik an. Hast du da noch einen Tipp für mich?
     
  9. Ammaletu

    Ammaletu Well-Known Member
    Ehrenmitglied

    Registriert seit:
    14. Juli 2007
    Beiträge:
    4.694
    Zustimmungen:
    0
    Ich kann es Dir gerade nicht im Detail beantworten, aber das würde ich über eine Query machen. Also:

    dateiname.png?whatever

    In der RewriteCondition müsstest Du dann den Query-Teil abfragen. Das sollte hoffentlich gehen, aber mir fehlt im Moment die Zeit, die genaue Syntax zu ergoogeln.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden