Page 1 of 1
Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 21:02
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 22:02
by Joe User
mod_speling
man grep
man egrep
man pcregrep
man sed
...
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 22:19
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?
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 22:48
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*
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 23:47
by Roger Wilco
mcx wrote:Wie wärs mit dem Tipp die Casesesitivität von Linux abzuschalten?
LUFS + LoCaseFS...viel Spass damit :twisted:
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-03 23:47
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 12:02
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 12:28
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 12:38
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]
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 12:59
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 13:13
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 13:27
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 :)
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 13:59
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 14:16
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 16:10
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
Re: Unsaubere Windows Webseiten für Linux lauffähig machen
Posted: 2004-11-04 16:19
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...