CheckSpelling funktioniert nicht ganz

Apache, Lighttpd, nginx, Cherokee
bernau
Posts: 13
Joined: 2003-02-21 23:33
Location: Köln

CheckSpelling funktioniert nicht ganz

Post by bernau » 2008-04-15 16:57

In meiner httpd.conf habe ich folgendes angegeben.

Code: Select all

CheckSpelling on


Damit sollte doch für alle Domains/VirtuellenDomains die Gross/Kleinschreib-Korrektur durchgeführt werden

Die konfiguration von einem virtuellen host sihet so aus:

Code: Select all

<VirtualHost *:80>
ServerName domain.eu
ServerAlias www.domain.eu
DocumentRoot "//srv/vhosts/domain.eu/htdocs"
<Directory "//srv/vhosts/domain.eu/htdocs">
allow from all
Options None
</Directory>
DirectoryIndex index.htm index.html index.php
</VirtualHost>



Nun ist es so, daß folgendes wie gewünscht korrigiert wird:

www.domain.eu/Index.htm wird umgewandelt nach www.domain.eu/index.htm und die Seite wird auch angezeigt.
(Das original ist kleingeschreiben)

Soweit sogut. Wenn die Datei Index aber in einem Unterverzeichnis vorhanden ist, dann funktioniert's nicht:

www.domain.eu/test/Index.htm wird nicht umgewandelt nach www.domain.eu/test/index.htm und die Seite bring ein Fehler "Objekt nicht gefunden!"

Auf einem anderen Server funktioniert's einwandfrei. Was habe ich vergessen?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: CheckSpelling funktioniert nicht ganz

Post by Joe User » 2008-04-15 17:10

PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

bernau
Posts: 13
Joined: 2003-02-21 23:33
Location: Köln

Re: CheckSpelling funktioniert nicht ganz

Post by bernau » 2008-04-15 17:32




Ja. Sonst würde beim Starten von apache2 eine Fehlermeldung zum "Unbekannten CheckSpelling" erscheinen.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: CheckSpelling funktioniert nicht ganz

Post by Roger Wilco » 2008-04-15 17:41

Steht deine CheckSpelling-Direktive in einem Directory-, Files-, FilesMatch- oder Location-Block?

bernau
Posts: 13
Joined: 2003-02-21 23:33
Location: Köln

Re: CheckSpelling funktioniert nicht ganz

Post by bernau » 2008-04-15 22:43

Roger Wilco wrote:Steht deine CheckSpelling-Direktive in einem Directory-, Files-, FilesMatch- oder Location-Block?


Nein. Die steht in einer selbst definierten Konfigurationsdatei:


In der Datei /etc/sysconfig/apache2 habe ich folgenden EIntrag zugefügt.

Code: Select all

APACHE_CONF_INCLUDE_FILES="/etc/apache2/mylocalhttpd.conf"


Die Datei habe ich angelegt und dort die Zeile

Code: Select all

CheckSpelling on


eingefügt. Dort ist kein umschliessender Block angegeben.

bernau
Posts: 13
Joined: 2003-02-21 23:33
Location: Köln

Re: CheckSpelling funktioniert nicht ganz

Post by bernau » 2008-04-15 23:16

Ich muss mich hier korrigieren

www.domain.eu/test/Index.htm wird umgewandelt nach www.domain.eu/test/index.htm (Seite wird angezeigt)

www.domain.eu/Test/Index.htm wird nichtumgewandelt nach www.domain.eu/test/index.htm (Seite bringt einen Fehler)

Also die Datei Index.htm wird korrigiert. Aber das Verzeichnis Test, wird nicht korrigiert. Und dort kommt die Fehlermeldung "Objekt nicht gefunden"

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: CheckSpelling funktioniert nicht ganz

Post by Roger Wilco » 2008-04-16 16:29

http://httpd.apache.org/docs/2.2/mod/mod_speling.html wrote:It [mod_speling] does its work by comparing each document name in the requested directory against the requested document name without regard to case, and allowing up to one misspelling (character insertion / omission / transposition or wrong character).

Ich interpretiere das so, dass nur Dateien innerhalb eines Verzeichnisses geprüft werden. http://www.example.com/Test/index.htm würde also vermutlich funktionieren, http://www.example.com/Test/Index.htm hingegen nicht, weil das Verzeichnis "Test" und die darin liegende Datei "Index.htm" nicht existiert.

bernau
Posts: 13
Joined: 2003-02-21 23:33
Location: Köln

Re: CheckSpelling funktioniert nicht ganz

Post by bernau » 2008-04-16 17:24

Roger Wilco wrote:
http://httpd.apache.org/docs/2.2/mod/mod_speling.html wrote:It [mod_speling] does its work by comparing each document name in the requested directory against the requested document name without regard to case, and allowing up to one misspelling (character insertion / omission / transposition or wrong character).

Ich interpretiere das so, dass nur Dateien innerhalb eines Verzeichnisses geprüft werden. http://www.example.com/Test/index.htm würde also vermutlich funktionieren, http://www.example.com/Test/Index.htm hingegen nicht, weil das Verzeichnis "Test" und die darin liegende Datei "Index.htm" nicht existiert.


Ne. Das war's leider nicht. Siehe meinen korrigierten Beitrag (vor deinem).

Der Dateiname selber kann auch komplett oder teilweise gross geschrieben werden

"http://www.example.com/test/INDEX.htm" -> OK
"http://www.example.com/test/INDEX.HTM" -> OK
"http://www.example.com/test/Index.htm" -> OK

Aber alles was hinder der Domain und vor der Datei ist (in diesem Falle "test") muss korrekt "case sensitive" geschrieben sein.

"http://www.example.com/Test/index.htm" -> Fehler
"http://www.example.com/TEST/index.htm" -> Fehler

CheckSpelling funktioniert auch insoweit, wenn Endung der Datei fehlerhaft ist. Wenn ich z.B. folgendes eingebe:

"http://www.example.com/test/Index.php"

Dann bekomme ich eine Multiple Choise Angabe mit dem Hinweis, daß nur index.htm zur verfügung steht.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: CheckSpelling funktioniert nicht ganz

Post by Roger Wilco » 2008-04-16 17:52

Bernau wrote:Ne. Das war's leider nicht. Siehe meinen korrigierten Beitrag (vor deinem).

Ich denke doch. Das passt doch genau auf das von dir beschriebene Verhalten: Dateinamen werden umgewandelt, Verzeichnisse, denen noch ein Dateiname anhängt, nicht.