Unsaubere Windows Webseiten für Linux lauffähig machen

Apache, Lighttpd, nginx, Cherokee
Post Reply
mcx
Posts: 57
Joined: 2003-11-14 09:09
 

Unsaubere Windows Webseiten für Linux lauffähig machen

Post by mcx »

Hallo,

ich habe vor einige sehr umfangreiche Internetseiten von einem Windows Server auf einen neuen Linuxserver umzuziehen.

Windows ist nicht Casesensitif (ignoriert Groß- und Kleinschreibung). Linux ist Casesensitif - und das soll auch nicht ausgeschaltet werden !

Die alten Windows Seiten beinhalten z.B. einen Frame der wie für Frames so üblich andere html Seiten beinhaltet. jetzt ist die Frameseite so erstellt, das sie im oberen Framebereich die Seite "FrameOben.htm" laden soll und im unteren Frame die Datei "Frameunten.htm" die beiden Dateinamen auf dem Server lauten aber exakt "frameoben.htm" und "frameunten.htm".

Da Linux und Apache Casesensitif arbeiten sind die Links kaputt.

Ich möchte weder die Eigenschaft des Linuxsystems noch das Apache Modul mod_speling verwenden.

Vielmehr schwebt mir eine Scriptlösung vor, mit der man

1. Alle Dateienamen in dem "Directory des Webserver z.B. /home/myweb/" so umbennent, das es nur noch kleingeschriebene namen gibt (aus Frame.htm soll frame.htm werden).
berücksichtig werden müssten *.htm, *.html, *.gif, *.jpg, *.png, *.js, *.css eventuel mehr !!! und alle Verzeichnisnamen !!!

2. In allen html Dateien sollen nun die Links so abgeändert werden das jeder Eintrag "z.B. <a href="Frameunten.htm"> in <a href="frameunten.htm"> umgewandelt wird.


Müsste eigentlich mit ein paar Zeilen unter Bash getan sein, ich habe leider nur zu wenig Erfahrung um mit regulären Ausdrücken unter Linux sicher zu arbeiten und ein entsprechendes Script zu erstellen.

Wäre toll wenn jemand der sicher in der Materie ist seine Ideen zum Thema hier posten könnte.

Ich kann mir vorstellen, die Problematik könnte allgemein interessant sein, da es bestimmt noch viele User geben wird, die Windows Sites auf Linux ziehen wollen mit ähnlichem Problem.

Gruß

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

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by Joe User »

mod_speling
man grep
man egrep
man pcregrep
man sed
...
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.
mcx
Posts: 57
Joined: 2003-11-14 09:09
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by mcx »

darauf hab ich gewartet, mod_speling hättest du dir aber wirklich sparen können, schließlich hab ich die verwendung oben schon ausgeschlossen.

Wie wärs mit dem Tipp die Casesesitivität von Linux abzuschalten?
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München
Contact:
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by floschi »

mcx wrote:Wie wärs mit dem Tipp die Casesesitivität von Linux abzuschalten?
Soll man dir evtl. noch den Popo pudern, das Essen vorkauen und die Milch warm machen - oder reicht es dir, wenn dir jemand beschreibt wie du in die Küche kommst, damit du dir dein Essen selbst machen kannst?

*grummel*
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by Roger Wilco »

mcx wrote:Wie wärs mit dem Tipp die Casesesitivität von Linux abzuschalten?
LUFS + LoCaseFS...viel Spass damit :twisted:
mav1000
Posts: 30
Joined: 2003-05-16 16:55
Location: Mönchengladbach
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by mav1000 »

Ich möchte weder die Eigenschaft des Linuxsystems .....
und
Wie wärs mit dem Tipp die Casesesitivität von Linux abzuschalten?
:?: Kann es sein, das du selber nicht weisst was du willst :?:

gruß

mav1000
wgot
Posts: 1675
Joined: 2003-07-06 02:03
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by wgot »

Hallo,
Wäre toll wenn jemand der sicher in der Materie ist seine Ideen zum Thema hier posten könnte.
aber gerne :lol: ob Dir die Antwort zusagt ist ein anderes Thema. :roll:
da es bestimmt noch viele User geben wird, die Windows Sites auf Linux ziehen wollen mit ähnlichem Problem.
wohl nicht. Die meisten informieren sich ausführlich und denken über den eigenen Hutrand hinaus bevor sie ein umfangreiches Projekt durchziehen.

Auch wenn die Homepage unter Windows gehostet wird könnte durchaus mal ein Surfer mit Linux daherkommen. Und Apache unter Windows dürfte IMHO mit dem Dateinamenmurks auch nicht zurechtkommen.
mcx wrote:Müsste eigentlich mit ein paar Zeilen unter Bash getan sein
das Dateiumbenennen schon, die Dokumentüberarbeitung nicht. Jede mögliche Position eines Pfad- oder Dateinamens im einem HTML-Tag muß beachtet und korrekt bedient werden. Meistens finden sich etliche Tags mit Syntaxfehlern die von den Browsern trotzdem akzeptiert werden, das kostet nochmal ein "paar" Zeilen extra. Sollten dann noch Pfade oder Dateinamen per JavaScript zusammengebastelt sein wird's richtig interessant.

Deshalb Paradetipp: unbedingt direkt auf dem Server ohne Datensicherung ein Script rumeiern lassen. Danach ist die Sache in jedem Fall erledigt: entweder hat's zufällig geklappt, oder es ist alles kaputt.

Hol Dir die Dokumente auf den PC und arbeite mit Mitteln die Dir vertraut sind.

Gruß, Wolfgang
rob
Posts: 82
Joined: 2002-06-03 21:53
Location: Brandenburg
Contact:
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by rob »

das Dateiumbenennen schon, die Dokumentüberarbeitung nicht. Jede mögliche Position eines Pfad- oder Dateinamens im einem HTML-Tag muß beachtet und korrekt bedient werden.
Naja,
dadurch, dass sich sämtliche Pfade anhand der benannten Endungen (html,htm,js,css,...) erkennen lassen ist das IMHO kein Problem.

Anstatt jemanden runter zu machen oder irgendwelche Stichwörter in den Raum zu werfen, sollte jemand ihm erklären, dass man case-sensitivity nicht einfach im Dateisystem abschalten kann, da die Unterscheidung von kleinen und großen Buchstaben fest implementiert ist.

- just my 0,02 EUR
outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by outofbound »

rob: Deine Einstellung in Ehren, aber mal ganz ehrlich: Wenn wir hier Zeit dafür opfern um Leuten zu helfen, und dann die "Hilfesuchenden" meist nichts, aber auch GAR NICHTS an Eigeninitiative mitbringen, was soll man denn dann machen?

Ich kann dem OP gerne helfen, aber das würde wahrscheinlich einen halben Tag in Anspruch nehmen... 4 Stunden a 120 Euro + Anfahrt + Spesen... gar kein Problem...

Der gute alte Spruch triffts halt immer wieder: You get what you pay for.

my 2 cents ;)

Back OT:
Ohne RegExe wirst du da wahrscheinlich nicht in NP Zeit fertig werden, und auch
dann wird das Testen und die Fehlersuche noch Tage dauern.
Alternativ könnte man natürlich Lowercase- Aliase im FS setzen und dann nach
und nach die Files anpassen.... also sozusagen Hybrid fahren... allerdings schaudert
mir da persönlich vor

Gruss,

Out

[edit] Nachtrag: Ã?brigens hat die Unfähigkeit des Website- Designers über den Tellerrand
hinaus zu schauen nichts, aber auch GAR NICHTS mit dem OS zu tun. Da hat einfach
jemand aus Faulheit nicht darüber nachgedacht und sich nicht Informiert. Da kann der
Rechner und auch das OS nix dafür.
[/edit]
wgot
Posts: 1675
Joined: 2003-07-06 02:03
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by wgot »

Hallo,
rob wrote:dadurch, dass sich sämtliche Pfade anhand der benannten Endungen (html,htm,js,css,...) erkennen lassen ist das IMHO kein Problem.
ok, schau Dir folgenden Konstrukt an:

Code: Select all

<a href='http://www.eigene_domain.de/OrDner/BILD1.JPG' ><img src =http://www.fremde_domain.de/Ordner/Bild1.JPG alt=BIld1.JPG></a>
was muß, was darf nicht geändert werden - da muß doch schon der Mensch individuell nachdenken.

Für CGI-Paramneter lassen sich noch viel schönere Beispiele erfinden. :twisted:
OutOfBound wrote:Ã?brigens hat die Unfähigkeit des Website- Designers über den Tellerrand hinaus zu schauen nichts, aber auch GAR NICHTS mit dem OS zu tun.
Natürlich nicht, aber hier war's halt der Tellerrand des eigenen Betriebssystems der nicht überblickt wurde.

Außer auf den PC holen und mit vertrauten Mitteln arbeiten oder einen Experten beauftragen und bezahlen sehe ich keine sinnvolle Vorgehensweise.

Gruß, Wolfgang
outofbound
Posts: 470
Joined: 2002-05-14 13:02
Location: Karlsruhe City
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by outofbound »

OutOfBound wrote:Ã?brigens hat die Unfähigkeit des Website- Designers über den Tellerrand hinaus zu schauen nichts, aber auch GAR NICHTS mit dem OS zu tun.
Natürlich nicht, aber hier war's halt der Tellerrand des eigenen Betriebssystems der nicht überblickt wurde.
Wenn ich eine Datei "Doof.html" nenne und in den Source dann "doof.html" reinschreibe
weil das "ja das gleiche ist", dann ist es irgendwann einmal klar, dass es knallt. ;)

Ich hoffe nur inständig, dass da kein dynamisches Zeugs drin ist (PHP oder so) sonst
gibts bald wieder Mails ala "Ich bin gehackt worden"... *scnr*

Gruss,

Out
rob
Posts: 82
Joined: 2002-06-03 21:53
Location: Brandenburg
Contact:
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by rob »

wgot wrote: ok, schau Dir folgenden Konstrukt an:

Code: Select all

<a href='http://www.eigene_domain.de/OrDner/BILD1.JPG' ><img src =http://www.fremde_domain.de/Ordner/Bild1.JPG alt=BIld1.JPG></a>
- Alles, was mit http:// + eigene Domain beginnt muss geändert werden
- Alles, was nicht mit http:// beginnt muss geändert werden
- in HTML gibt es nur 2 Verweistypen: src=([^ ]+) | href=([^ ]+)
-> wenn man mal davon ausgeht, dass die Dateinamen keine Leerzeichen enthalten :)
wgot
Posts: 1675
Joined: 2003-07-06 02:03
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by wgot »

Hallo,
rob wrote:in HTML gibt es nur 2 Verweistypen:
<pingelig>
<body background=HintergrundBild.jpg>
</pingelig>

<a href=http://www.eigene_domain.de/cgi-bin/blabla.pl?file=DoKument.htm>

und nun - greift das Script auf eine interne Datei zu oder auf eine externe (Domain fest im Script)?

Es war von umfangreichen Seiten die Rede, da erwarte ich auch JavaScript, Applets, ActiveX, PHP und andere schöne Spielereien.

Den Aufwand ungefähr abschätzen ist nur möglich wenn man die betroffene Homepage ansehen kann. Von "ein paar Zeilen" gehe ich nicht aus.

Gruß, Wolfgang
rob
Posts: 82
Joined: 2002-06-03 21:53
Location: Brandenburg
Contact:
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by rob »

wgot wrote:Hallo,

<pingelig>
<body background=HintergrundBild.jpg>
</pingelig>

<a href=http://www.eigene_domain.de/cgi-bin/blabla.pl?file=DoKument.htm>
*ertappt* ;-)

Mit deinem Abschlussstatement triffst du allerdings den Nagel auf den Kopf: Man müsste sehen, wie dynamisch die Seite aufgebaut ist...

Rob
wgot
Posts: 1675
Joined: 2003-07-06 02:03
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by wgot »

Hallo,
rob wrote:*ertappt* ;-)
ich hatte noch <form action=...> vergessen. :oops:

Komplett durchtesten muß man die Seite nach so einem Umbau ohnehin. Es könnte ein brauchbarer Weg sein, einfach alle Buchstaben innerhalb von Tags nach Kleinbuchstabe zu ändern und sich dann überraschen lassen was dabei alles kaputt gegangen ist und nachgebessert werden muß. (Für diese Lösung ist wenigstens das Script schnell hingetippt.)

Gruß, Wolfgang
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Unsaubere Windows Webseiten für Linux lauffähig machen

Post by Joe User »

Es gibt hunderte fertige Scripts/Programme für diesen Zweck, man muss lediglich etwas googlen beziehungsweise sich mal mit der auf dem eigenen System bereits vorhandenen Software beschäftigen. Selbst MS-FrontPage (>=2000) bietet entsprechende Funktionen...
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.
Post Reply