Ergebnis 1 bis 4 von 4

Thema: Error 410 - Seite dauerhaft entfernt

  1. #1
    Contao-Nutzer Avatar von DetlefT
    Registriert seit
    25.07.2014.
    Ort
    Bedburg
    Beiträge
    104

    Standard Error 410 - Seite dauerhaft entfernt

    Hallo zusammen,

    ich verzweifele gerade an einer wahrscheinlich höchst einfachen Aufgabe. Ich möchte in der .htaccess alle die Seiten, die es in der neuen Website-Version nicht mehr gibt, auf Error 410 setzen. Dazu habe ich eine entsprechende Fehlerseite namens "error-410-seite-entfernt" angelegt. Unter "Einstellungen" wird kein Suffix angehängt, die URL's werden umgeschrieben, Auto-Item ist aktiviert, die restlichen 4 Einstellungen sind nicht angehakt (das funktioniert für alles Andere problemlos).

    Erfolg: wenn die Error-Direktive auskommentiert ist, kommt beim Aufruf von "entfernte-seite" die Apache-410-Fehlerseite. Ist die Error-Direktive aktiv, kommt meine 404-Fehlerseite. Allerdings schaffe ich es nicht, meine Fehlerseite "error-410-seite-entfernt" ausgeben zu lassen. Liegt wahrscheinlich daran, dass zu dem Zeitpunkt die URL's noch nicht umgeschrieben sind, aber alle try-and-error-Versuche, z.B. durch anhängen von ".php" oder ".html", sind bisher gescheitert, ebenso der Versuch, die Error-Direktive direkt vor das Redirect Gone zu setzen.

    Meine .htaccess (IMHO für das Problem unwichtige Abschnitte habe ich wg. der besseren Übersichtlichkeit entfernt):

    PHP-Code:
    ## Fehlerseite für: 410 – Seite dauerhaft entfernt
      
    ErrorDocument 410 /error-410-seite-entfernt

    #############
    ## hier entfernt ##
    #############

    ##
    # URL rewriting
    ##
    <IfModule mod_rewrite.c>
      
    RewriteEngine On

      RewriteBase 
    /

    #############
    ## hier entfernt ##
    #############

      
    RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|map|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|zip|gz)$
      
    RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond 
    %{REQUEST_FILENAME} !-d
      RewriteRule 
    .* index.php [L]
      
    Redirect Gone /entfernte-seite
      
    #############
    ## hier entfernt ##
    #############

    </IfModule
    Viele Grüße, DetlefT

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.131
    Partner-ID
    10107

    Standard

    Gehört das

    Redirect Gone /entfernte-seite

    nicht genau umgekehrt?


    // ah nein, das ist natürlich blödsinn

    Ich kann auf Anhieb in deiner Konfiguration keinen Fehler sehen, sollte theoretisch funktionieren.
    Geändert von Spooky (01.06.2017 um 09:15 Uhr)

  3. #3
    Contao-Nutzer Avatar von DetlefT
    Registriert seit
    25.07.2014.
    Ort
    Bedburg
    Beiträge
    104

    Standard

    Zitat Zitat von DetlefT Beitrag anzeigen
    Erfolg: wenn die Error-Direktive auskommentiert ist, kommt beim Aufruf von "entfernte-seite" die Apache-410-Fehlerseite. Ist die Error-Direktive aktiv, kommt meine 404-Fehlerseite. Allerdings schaffe ich es nicht, meine Fehlerseite "error-410-seite-entfernt" ausgeben zu lassen. Liegt wahrscheinlich daran, dass zu dem Zeitpunkt die URL's noch nicht umgeschrieben sind, aber alle try-and-error-Versuche, z.B. durch anhängen von ".php" oder ".html", sind bisher gescheitert, ebenso der Versuch, die Error-Direktive direkt vor das Redirect Gone zu setzen.
    Habe noch mal mehrere Alternativen durchprobiert. Bleibt so wie beschrieben. Ich denke, das es wirklich daran liegt, dass das System "error-410-seite-entfernt" wegen der Umschreibungen nicht finden kann; dafür spricht ja auch die Ausgabe des 404-Errors. Wie müsste die "error-410-seite-entfernt" vor der Umschreibung heißen? Habe es mit "/index.php/error-410-seite-entfernt.html" probiert, aber dann wird die Startseite nicht mehr ausgegeben.
    Viele Grüße, DetlefT

  4. #4
    Contao-Nutzer Avatar von DetlefT
    Registriert seit
    25.07.2014.
    Ort
    Bedburg
    Beiträge
    104

    Standard

    Ich starte noch mal einen Versuch:

    Im Error-Statement muss der komplette Pfad angegeben werden, dann wird die Seite gefunden und angezeigt und zwar zuverlässig so, wie per Redirect Gone gewünscht.

    Dumm ist nur ein einziger Fehler: wenn ich meine Startseite mit http://example.de aufrufe, kommt der 410 auch, rufe ich mit http://example.de/index auf, wird die Startseite gezeigt.

    Der Verursacher scheint mir das hier zu sein, aber das ist ja wohl im Normalfall sinnvoll:
    PHP-Code:
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #   RewriteCond %{REQUEST_FILENAME} !-d
      #   RewriteRule .* index.php [L] 
    Hat jemand hilfreiche Tips (oder gar eine Lösung!)?
    Viele Grüße, DetlefT

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •