Zum Inhalt springen
Thread.htaccess

individuelle Fehlerseite geht nicht??

Kategorie
.htaccess
Antworten
9
Erstellt von: Themenersteller Neuling (6 Beiträge) Datum: 27.09.2013, 09:28 Uhr
Archiv-KommentarArchiviert, nicht priorisiertRedirects, Relaunch & Statuscodes

Redaktionelle Einordnung

Diese archivierte Diskussion behandelt individuelle Fehlerseite geht nicht?? aus Sicht der Rubrik .htaccess.

Bei Umzügen, Relaunches und Weiterleitungen entscheiden heute saubere Redirect-Ketten, Statuscodes und Konsistenz über Rankings und Nutzersignale.

Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.

Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.

Startbeitrag

Originaler Foreninhalt in modernisierter Darstellung.

Zur Kategorie
Themenersteller Neuling (6 Beiträge)
am 27.09.2013, 09:28 Uhr eröffnete sonnenwelt folgenden Thread .htaccess 3032 mal gelesen 9 Antwort(en).

Guten Morgen,
ich wollte eine individuelle Fehlerseite einbauen, wie seitenreport das gern hätte, aber das einbinden in die htaccess hab ich nicht hinbekommen. Kann mal bitte einer helfen??
MfG + Danke

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.xxxxxxxxxxxxxxxx\.de) [NC]

RewriteRule ^(.*) xxxxxxxxxxxxxxx.de/$1 [R=301,L]


RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)index\.(php|html|htm) /$1 [L,R=301]

ErrorDocument 401 xxxxxxxxxxxxxxxxxxxxxxxxxxxx/fehler.html


ErrorDocument 403 xxxxxxxxxxxxxxxxxxxxxxxxxxxx/fehler.html


ErrorDocument 404 xxxxxxxxxxxxxxxxxxxxxxxxxxxx/fehler.html


ErrorDocument 500 xxxxxxxxxxxxxxxxxxxxxxxxxxxx/fehler.html


</IfModule>

Antworten

9 Beiträge
gelöschter Benutzer · 27.09.2013, 09:55 Uhr
Antwort

Hallo Sonnenwelt,

probier es einmal so:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\\.

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,QSA,L]


RewriteRule ^index\\.(html?|htm)$ %{HTTP_HOST} [R=301,QSA,L]



ErrorDocument 402 /402.htm
ErrorDocument 403 /403.htm
ErrorDocument 404 /404.htm


MfG KlausO
zille
Werkzeugmacher · Beginner (39 Beiträge) · 30.09.2013, 13:31 Uhr
Antwort

Hallo Sonnenwelt,

Nachfolgende Zeile in .htaccees einfügen.
ErrorDocument 404 /error404.html
Undine Datei ertellen nmens error404.html; mit entsprechenden Inhalt z.b. "die von Ihnen aufgerufene Internetseite existiert nicht oder es ist nicht gestattet diese Seite aufzurufen.
Bitte überprüfen Sie als erstes die Schreibweise der Adresse.
Eine mögliche Fehlerursache ist ein Schreibfehler in der Internetadresse."


Ich kann freilich nicht sagen, ob es besser wird, wenn es anders wird. Aber soviel kann ich sagen: es muss anders werden, wenn es besser werden soll!
https://www.ferienhaus-ziller.de
zille
Werkzeugmacher · Beginner (39 Beiträge) · 30.09.2013, 13:37 Uhr
Antwort

zille schrieb:

Hallo Sonnenwelt,

Nachfolgende Zeile in .htacces einfügen.
ErrorDocument 404 /error404.html
Und eine Datei ertellen nmens error404.html; mit entsprechenden Inhalt z.b. "die von Ihnen aufgerufene Internetseite existiert nicht oder es ist nicht gestattet diese Seite aufzurufen.
Bitte überprüfen Sie als erstes die Schreibweise der Adresse.
Eine mögliche Fehlerursache ist ein Schreibfehler in der Internetadresse."


Ich kann freilich nicht sagen, ob es besser wird, wenn es anders wird. Aber soviel kann ich sagen: es muss anders werden, wenn es besser werden soll!
https://www.ferienhaus-ziller.de
gelöschter Benutzer · 26.11.2014, 08:50 Uhr
Antwort

Habe ein ähnliches Problem:

Gültige Fehlerseite fehlt 0% [info]
Individuelle Fehlerseite Weiterleitung 50% [info]


Meine .htacess:

AddType application/x-httpd-php53 .php
AddDefaultCharset utf-8
#php_flag magic_quotes_gpc Off

SetEnv APP_ENVIRONMENT online

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,NC,L]



<IfModule mod_rewrite.c>

#RewriteEngine On
#RewriteBase /kfzgutachter/
#RewriteBase /projects/kfzgutachter/
RewriteBase /

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d

#RewriteRule /*\\.(css|js|php|php|gif|png|jpe?g)$ - [NC,L]
RewriteRule "^(.*)$" "index.php" [QSA,L]

</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /404.php
</IfModule>


<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
AddOutputFilterByType DEFLATE font/truetype font/opentype
</IfModule>

# turns cache on
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 4 hours"
ExpiresByType application/javascript A900
ExpiresByType application/x-javascript A900
ExpiresByType text/javascript A900
ExpiresByType text/html A86400
ExpiresByType text/xml A86400
ExpiresByType text/css A86400
ExpiresByType text/plain A86400
ExpiresByType image/gif A86400
ExpiresByType image/jpg A86400
ExpiresByType image/jpeg A86400
ExpiresByType image/png A86400
ExpiresByType image/bmp A86400
ExpiresByType application/x-shockwave-flash A86400
</IfModule>
<ifmodule mod_headers.c>
<filesmatch "\\\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesmatch>
<filesmatch "\\\\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesmatch>
<filesmatch "\\\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesmatch>
<filesmatch "\\\\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesmatch>
matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 26.11.2014, 14:58 Uhr
Antwort

kloeskes schrieb:

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule "^(.*)$" "index.php" [QSA,L]



Erster Fehler. Alles, was nicht existiert, wird auf die index.php umgeleitet. Also kann der Server gar keine korrekte Fehlerseite ausliefern, sofern die index.php Fehler nicht selber bearbeitet.

kloeskes schrieb:

<IfModule !mod_rewrite.c>
ErrorDocument 404 /404.php
</IfModule>


Zweiter Fehler. Die Anweisung lautet: "Wenn das Modul mod_rewrite nicht existiert, soll 404.php die Fehlerseite für 404-Fehler sein."
Ich nehme aber stark an, dass das Modul existiert, also greift die Direktive gar nicht.


Make Seitenreport great again!
gelöschter Benutzer · 26.11.2014, 15:23 Uhr
Antwort

Fehler wurden korrigiert. jetzt habe ich folgende Konstallation:

Gültige Fehlerseite vorhanden 100%
Individuelle Fehlerseite fehlt 0%

Meine .htaccess:


SetEnv APP_ENVIRONMENT online

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\\. [NC]

RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,NC,L]



<IfModule mod_rewrite.c>

#RewriteEngine On
#RewriteBase /kfzgutachter/
#RewriteBase /projects/kfzgutachter/
RewriteBase /

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d

#RewriteRule /*\\.(css|js|php|php|gif|png|jpe?g)$ - [NC,L]
#RewriteRule "^(.*)$" "index.php" [QSA,L]
ErrorDocument 404 /404.php

</IfModule>


<IfModule !mod_rewrite.c>

</IfModule>


<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
AddOutputFilterByType DEFLATE font/truetype font/opentype
</IfModule>

# turns cache on
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 4 hours"
ExpiresByType application/javascript A900
ExpiresByType application/x-javascript A900
ExpiresByType text/javascript A900
ExpiresByType text/html A86400
ExpiresByType text/xml A86400
ExpiresByType text/css A86400
ExpiresByType text/plain A86400
ExpiresByType image/gif A86400
ExpiresByType image/jpg A86400
ExpiresByType image/jpeg A86400
ExpiresByType image/png A86400
ExpiresByType image/bmp A86400
ExpiresByType application/x-shockwave-flash A86400
</IfModule>
<ifmodule mod_headers.c>
<filesmatch "\\\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesmatch>
<filesmatch "\\\\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesmatch>
<filesmatch "\\\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesmatch>
<filesmatch "\\\\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesmatch>
</ifmodule>
matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 26.11.2014, 15:51 Uhr
Antwort

Es wäre hilfreich, wenn Du nur die relevanten Teile kopieren würdest.
Die Zeilen vom mod_deflate und mod_expires haben damit nichts zu tun - das macht es unleserlich.

Gültige Fehlerseite:
Der Server gibt korrekt den Status 404 zurück.
Das hast Du erledigt.

Individuelle Fehlerseite:
Das angezeigte HTML ist individuell gestaltet und keine Standard-Fehlerseite, die mit der Serversoftware ausgeliefert wird.
Das ist nicht erledigt.
Rufe einfach mal eine Seite auf, die es nicht gibt - der Server liefert die Standard-Seite aus.

Warum? Weil es keine 404.php bei Dir gibt, meldet der Server sogar:
"Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."
Heißt, dass auch die ErrorDocument-Angabe einen 404-Fehler erzeugt hat.

Ergo: 404.php ergänzen.


Es bleibt aber die Frage, woher die Rewrite-Zeilen kamen, die Du nun einfach kommentiert hast? Denn soweit ich das sehe, macht jetzt jede Deiner Seiten ein Problem - die Anfragen laufen ins Leere, sollten aber von der index.php beantwortet werden.
Das ist also nicht der richtige Weg. Stattdessen muss die index.php "lernen", fehlende Seiten korrekt als fehlend zurückzugeben.


Make Seitenreport great again!
gelöschter Benutzer · 27.11.2014, 08:16 Uhr
Antwort

Wie kann die Index das lernen?

Die Fehlerseite ist da und war es schon immer. Anscheinend wird sie nur nicht immer gefunden.

www.kfz-gutachter.de/berlin/kakerlake



ist eine Seite, die es nicht gibt und führt zur individuellen Fehlerseite.
matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 27.11.2014, 12:31 Uhr
Antwort

www.kfz-gutachter.de/rezjrejzrej



Führt zur Suche.
Make Seitenreport great again!