.htaccess schuld an Problemen beim Löschen von Verzeichnissen?
Constantin Kiesling
- sonstiges
Hallo liebe Community!
Ich habe ein Problem: Ich wollte ein Unterverzeichnis in meinem cgi-bin löschen, weil ein counter-perlscript nicht funktioniert hat. Ich konnte das Verzeichnis aber prompt nicht entfernen und kann es jetzt auch noch immer nicht! Ich habe mir folgendes gedacht: Ich habe in dieses Verzeichnis eine .htaccess Datei upgeloadet gehabt, die ich für das Script brauchte. Kann die daran schuld sein, dass ich das Verzeichnis nicht löschen kann?
[Unterfrage: Jedes mal, wenn ich eine .htaccess Datei hochlade erscheint sie nicht! Ist das so üblich? Wenn ja, wie weiß ich dann überhaupt, dass sie da ist?]
Bitte helft mir! Es ist zwar nichts wirklich Dringendes, aber trotzdem wäre es super wenn ich das Verzeichnis endlich los bin... :)
Euer Consti
Hoi,
Ich habe ein Problem: Ich wollte ein Unterverzeichnis in meinem cgi-bin
löschen, weil ein counter-perlscript nicht funktioniert hat. Ich konnte das
Verzeichnis aber prompt nicht entfernen und kann es jetzt auch noch immer
nicht! Ich habe mir folgendes gedacht: Ich habe in dieses Verzeichnis eine
.htaccess Datei upgeloadet gehabt, die ich für das Script brauchte. Kann die
daran schuld sein, dass ich das Verzeichnis nicht löschen kann?
Ja, das kann sehr gut sein. Nicht leere Verzeichnisse kann man nicht loeschen.
[Unterfrage: Jedes mal, wenn ich eine .htaccess Datei hochlade erscheint sie
nicht! Ist das so üblich? Wenn ja, wie weiß ich dann überhaupt, dass sie da
ist?]
Ja, das ist durchaus ueblich.
Bitte helft mir! Es ist zwar nichts wirklich Dringendes, aber trotzdem wäre
es super wenn ich das Verzeichnis endlich los bin... :)
Du koenntest entweder einen direkten FTP-Befehl benutzen (delete .htaccess),
oder du koenntest ein Script (Perl?) schreiben, dass per 'unlink' die Datei
entfernt.
Gruesse,
CK
Hallo...!
Ich bevorzuge den direkten Befehl :)
Nun: In meinem FTP-Prog (CUTE FTP 2.6 ~steinalt~) gibt es zwar die möglichkeit, eigene Befehle zu definieren, aber wenn ich als Befehl "delete .htaccess" eingebe, funzt's nicht :(
Consti
Hoi,
Ich bevorzuge den direkten Befehl :)
Jeder nach seiner Fasson.
Nun: In meinem FTP-Prog (CUTE FTP 2.6 ~steinalt~) gibt es zwar die
möglichkeit, eigene Befehle zu definieren, aber wenn ich als Befehl "delete
.htaccess" eingebe, funzt's nicht :(
Versuche vielleicht mal 'dele' statt 'delete'. Ansonsten kannst du das auch
in der RFC 959 (ftp://ftp.isi.edu/in-notes/rfc959.txt) nachschlagen.
Gruesse,
CK
Hi!
Danke, 'dele .htaccess' hat geklappt! :)
Cya,
Consti
Hi,
Kann die daran schuld sein, dass ich das Verzeichnis
nicht löschen kann?
das kommt darauf an, mit welchem Befehl Du das Verzeichnis löschst. (Ich gehe im Folgenden davon aus, daß Du einen UNIX-Server verwendest.)
Wenn Du das Verzeichnis mit "rmdir" zu löschen versuchst, wird die UNIX-Shell ein nicht-leeres Verzeichnis nicht löschen können.
Versuchst Du es allerdings mit "rm -r", dann löscht dieses Kommando den gesamten Verzeichnisbaum inklusive sämtlicher Unterverzeichnisse und Dateien darin.
Dein Problem ist, daß Du offenbar nicht sehen kannst, welche Kommandos tatsächlich auf dem Server ausgeführt werden.
Das liegt daran, daß zwischen Deinem FTP-Client und dem FTP-Server nicht exakt UNIX-shell-Kommandos, sondern FTP-Kommandos übertragen werden und der FTP-Server diese dann in UNIX-Kommandos übersetzt. In Deinem Falle offenbar auf ein "defensives" rmdir.
Würdest Du direkt in einer Shell auf dem Server arbeiten (also via SSH oder notfalls auch Telnet), dann würdest Du direkt UNIX-Kommandos ausführen können. Das mag sich zwar ungewohnt anfühlen, aber wenigstens weißt Du dann exakt, was Du tust und was es bewirkt.
Dein aktuelles Problem ist ein klassischer Fall, daß eine Einschalung eines Arbeitsvorgangs in eine graphische Benutzeroberfläche (hier: Dein FTP-Client) Dir nur einen Teil der Möglichkeiten zur Verfügung stellt (und Dir das nicht mal bewußt macht).
Deine Verwirrung ist also völlig verständlich.
[Unterfrage: Jedes mal, wenn ich eine .htaccess
Datei hochlade erscheint sie nicht! Ist das so
üblich?
Auch das hat dieselbe Ursache.
Dein FTP-Client sendet wahrscheinlich ein "dir" zum Server, welcher das auf ein UNIX-shell-Kommando "ls" übersetzt. "ls" wiederum zeigt in der Tat Einträge, deren Name mit "." beginnt, nicht an - so wie Du unter Windows Dateien mit dem Attribut "hidden" nicht sehen kannst (es sei denn, Deine Windows-Oberfläche ist entsprechend konfiguriert). Würde der FTP-Server statt dessen "ls -a" ausführen, dann würdest Du alle Dateien des Verzeichnisses sehen.
Ich kenne mindestens einen FTP-Client (WS_FTP), bei dem man einstellen kann, ob dieses "-a" mit angegeben werden soll oder nicht - schau Dich mal im Handbuch Deines FTP-Clients um.
Wenn ja, wie weiß ich dann überhaupt, dass sie da
ist?]
Das ist in der Tat ein Problem - welches ich mit der Kombination aus meinem FTP-Client und meinen FTP-Servern allerdings nicht habe. Vielleicht solltest Du mal ein paar alternative FTP-Clients ausprobieren. (Mein Favorit wäre der WinCommander, der kostet allerdings Geld.)
Viele Grüße
Michael
Hoi,
[Unterfrage: Jedes mal, wenn ich eine .htaccess
Datei hochlade erscheint sie nicht! Ist das so
üblich?
Auch das hat dieselbe Ursache.
Das ist so nicht ganz richtig.
Dein FTP-Client sendet wahrscheinlich ein "dir" zum Server, welcher das
auf ein UNIX-shell-Kommando "ls" übersetzt. "ls" wiederum zeigt in der Tat
Einträge, deren Name mit "." beginnt, nicht an - so wie Du unter Windows
Dateien mit dem Attribut "hidden" nicht sehen kannst (es sei denn, Deine
Windows-Oberfläche ist entsprechend konfiguriert). Würde der FTP-Server
statt dessen "ls -a" ausführen, dann würdest Du alle Dateien des
Verzeichnisses sehen.
Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
Und das ist (bei meinen Servern zumindest) die Default-Einstellung.
Gruesse,
CK
Hi,
Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
Und das ist (bei meinen Servern zumindest) die Default-Einstellung.
sind wir uns darüber einig, daß dies für einen Provider, der seinen Anwendern .htaccess und Ähnliches erlaubt, ein ggf. nicht so ganz optimaler Default-Wert wäre?
Viele Grüße
Michael
Hoi,
Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
Und das ist (bei meinen Servern zumindest) die Default-Einstellung.
sind wir uns darüber einig, daß dies für einen Provider, der seinen
Anwendern .htaccess und Ähnliches erlaubt, ein ggf. nicht so ganz optimaler
Default-Wert wäre?
Natuerlich :-) Aber ich betreibe ja auch keine solchen Provider-Dienste.
Gruesse,
CK