.html Page Extension macht 404-Error-Page unmöglich?

Hilfe zur Installation
Post Reply
jfbs
Forum Members
Forum Members
Posts: 14
Joined: Tue Jan 15, 2008 12:13 am

.html Page Extension macht 404-Error-Page unmöglich?

Post by jfbs »

Hallo Leute,

ich verzweifle gerade an einem kleinen Problem und hoffe dass mir vielleicht jemand von Euch 'nen Tipp geben kann.

Ich nutze Pretty URL's mit ".html" Dateiendung. Darüber hinaus möchte ich natürlich eigene Fehlerseiten (404) ausgeben. Diese Kombination bereitet mir allerdings Kopfzerbrechen.
Bei einer URL wie beispielsweise "/kontakt.htmml" (ungültige Dateiendung) funktioniert alles wie gewünscht, ich erhalte die "schöne" vom CMS ausgelieferte Fehlerseite. Rufe ich dagegen aber z.B. "/konntakt.html" auf (korrekte Extension mit einer Seite die es nicht im CMS gibt)... dann liefert mit der Webserver einen "normalen" 404 zurück. Ein Verhalten das ich leider nicht so ganz verstehe.

Umgebung ist ein Apache2, CMS ist die aktuellste Version.

Apache-Konfiguration :

Code: Select all

<VirtualHost ... >
...
RewriteEngine on
RewriteBase /
...
# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
#RewriteCond %{REQUEST_URI} !/$
#RewriteCond %{REQUEST_URI} !\.
#RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+).html$ index.php?page=$1 [QSA]

### end: CMS ###
</Directory>
ErrorDocument 404 /error-404.html
</VirtualHost>
config.php

Code: Select all

...
$config['assume_mod_rewrite'] = true;
$config['page_extension'] = '.html';
$config['internal_pretty_urls'] = false;
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';
...
Und am Ende noch die (gekürzten) Einträge im access_log des Apache2...

Code: Select all

xxx - - [xxx] "GET /kontakt.html HTTP/1.1" 200 6221 "-" "Mozilla/4.0 xxx"
xxx - - [xxx] "GET /konntakt.html HTTP/1.1" 404 201 "-" "Mozilla/4.0 xxx"
xxx - - [xxx] "GET /kontakt.htmml HTTP/1.1" 404 3607 "-" "Mozilla/4.0 xxx"
Im CMS-Backend ist die Option "Eigene Fehlermeldung (404) aktivieren" NICHT aktiviert, die entsprechende Fehler-Seite (error-404) habe ich aber natürlich angelegt und kann sie natürlich auch anzeigen.


Hat jemand eine Idee?

Vielen Dank, schöne Grüße und Euch allen schonmal ein schönes Wochenende....
Jan
owr_bgld

Re: .html Page Extension macht 404-Error-Page unmöglich?

Post by owr_bgld »

zwar ein uraltthema, aber trotzdem ausgrab, da ich tagelang nach einer Lösung suche.

Ich sehe das Problem darinnen, dass er mit pretty-url die Umwandlungsroutinen drinnen hat und somit ein Problem. Andere Möglichkeiten (z.B. 403) funktionieren ja wunderbar.

Also hab ich einfach folgendes gemacht: eigene 404-Fehlerseiten aktiviert. Ich verwende ein eigenes Template dafür, welches nur den php redirect drinnen stehen hat (in meinem fall den redirect-Tag, da ich auf die interne Seite "Fehlermeldung" verlinke.

Ich habs aus der Not heraus gemacht, da ich als Content-Überschrift nicht "404 Error" stehen haben wollte, sondern "Fehlermeldung". Diese brauchte ich ohnehin, da ich niemandem von Haus aus verraten will ob es ein "verstecktes" Unterverzeichnis gibt oder nicht.
Post Reply

Return to “Installation und Einstellungen”