Peter: Server nimmt .htaccess nicht an

Hallo

Habe bei Strato einen viruellen Server gemietet.

Nun bekomme ich keine .htaccess Dateien auf dem Server.

.cgi .html funktioniert.

es lassen sich keine dateien die mit . beginnen hochkopieren (über FTP).

Nun benötige ich aber eine .htaccess . Der Server nimmt die einfach nicht an.

Wisst Ihr woran es liegen kann.

auch mit Perl:

open (LOG,">>$ENV{'DOCUMENT_ROOT'}/.htaccess");
close (LOG);

geht es nicht

Vielen Dank peter

  1. Ich habe auch einen V-Server von Strato,
    bei mir funktioniert das Hochladen von .htaccess-Dateien jedoch ohne Probleme.

    Ich habe es gerade noch einmal getestet, es funktioniert sogar mit dem FTP-Explorer von Windows. Da alle Dateien, die mit einem Punkt beginnen, versteckte Dateien sind, werden diese aber nicht angezeigt, das weißt du, oder?

    Vielleicht liegt es an deinem FTP-Clienten? Log dich doch bitte in deinen Strato-Account ein und lade dir im Menü "Extras" das Programm WinSCP herunter.
    Das ist ein SFTP-Client, also ein FTP-Client, der mit verschlüsselten FTP-Verbindungen arbeiten kann. Bei diesem Client, den ich auch nutze, weiß ich, dass es definitiv funktioniert.

  2. Hallo

    Muss nochmal korrigieren

    Stelle fest, die   .htaccess die ich drauf kopiert habe funktioniert.
    Ist aber im FTP client nicht zu sehen.

    Ist so etwas wie unsichtbar.

    Was kann das sein?

    Vielen Dank peter

    1. Oh, wir haben beide gleichzeitig unsere Antwort geschrieben :-)

      Ja, Dateien, die mit einem Punkt beginnen, sind auf einem Unix-Betriebssystem standardmäßig unsichtbar.
      Du kannst deine Datei also auch .hallo oder .haus nennen, sie ist versteckt.

      In einigen FTP-Clienten gibt es aber die Option "Versteckte FTP-Dateien anzeigen". DIe gibt es auch in WinSCP, auf das ich in meinem vorigen Beitrag hinweise. Damit sehe ich die verstecken Dateien ganz normal.

      1. Hallo

        Habe mir gerade dieses WinSCP runtergeladen.

        Bis her habe ich die dateien immer mit dem FTP client hochgeladen.

        Und mit dem  WinSCP weis ich nu nicht wie es geht.

        Vieleicht kannst Du mir es erklären?

        Vielen Dank Peter

        Dateien ganz normal.

        1. Hallo,

          OK, also du startest WinSCP über Start>Programme>WinSCP.

          Solltest du gefragt werden, welche Oberfläche du verwenden willst, empfehle ich dir den Commander-Style. Damit hast du in einem Fenster gleich zwei Explorer: Links wird dein Computer, rechts der Server angezeigt. Dann kannst du künftig ganz leicht Dateien per Drag'n'Drop austauschen und hoch-/runterladen. Kannst du aber auch später noch in den Programmeinstellungen ändern.

          Startest du WinSCP müsste das Fenster "WinSCP Login" erscheinen.
          Hier klickst du links auf "Session".
          Dann trägst du folgendes ein:
          Hostname: h147xxxx.stratoserver.net
          User name: root
          Password: xxxxxxxx
          Dann klickst du auf "Save". Du wirst gefragt, unter welchem Namen du das Profil abspeichern möchtest.
          Hinweis: Der root-Account ist sehr mächtig! Du hast damit (so gut wie?) alle möglichen Rechte, pass also auf, dass du nichts kaputt machst!
          Hinweis: Wenn du willst, aktiviere "Save Password". Dadurch wird das Passwort so gespeichert, dass du es nicht jedes mal erneut eingeben musst. Bist du dir unsicher, lass es weg.

          Ab sofort kannst du im Fenster "WinSCP Login" links unter "Stored Session" per Doppelklick auf dein Profilnamen eine Verbindung herstellen.

          Mit der Zeit erkundest du mal das Einstellungsmenü des Programms. Das Programm funktioniert mit den Standardeinstellungen schon sehr gut, falls du dich aber genügend auskennst, kannst du hier und da noch mehr nach deinen Wünschen einstellen. Zum Beispiel, dass Dateien automatisch immer im Hintergrund übertragen werden sollen. So kann man während eines Up-/Downloads bequem weiter durch die Verzeichnisse browsen.

          Übrigens: WinSCP hat einen eingebauten Editor! Per Doppelklick auf eine Datei (auch bei .htaccess-Dateien :-) werden diese im WinSCP-Editor geöffnet. Du kannst die Datei nur lesen oder auch direkt verändern; nach einer Änderung wird diese Datei wieder direkt auf den Server geladen!

          Tipp: Solltest du mit WinSCP hochgeladene Skripte nicht starten können, fehlen ihnen möglicherweise die CHMOD-Rechte. Diese kannst du schon beim Upload oder aber auch nachträglich per Rechtsklick auf die Datei, dann Eigenschaften (englisch "Properties") einstellen.

          Die von Strato angebotene Version ist allerdings schon etwas älter, funktioniert jedoch tadellos. Ich persönlich habe mir selbst schon die neuere Version von WinSCP geholt. Es hat sich aber nichts wesentliches verändert, du kannst ruhig noch mit der alten Version weiterarbeiten, der Upload lohnt sich meiner Meinung nach noch nicht wirklich.

          Gruß, AND51

          1. Hallo,

            Habe gerade bei Strato für diese Zugangsdaten angefragt.

            Die haben mich auch darauf hingewiesen das ich mit dem Programm WinSCP  Volle rechte habe, und viel anrichten kann.

            Soo lass ich vieleicht besser erstmal die Finger von dem Programm.

            Für dass erkennen, anlegen und verändern  der  .htaccess habe ich ein kleines cgi
            geschrieben.

            Vielen Dank Peter

            1. Hallo,

              Du kannst dich auch einmalig mit PuTTY (gibts auch im Stratologin-Extra-Menü) einloggen (also root) und dir dann mit einem Befehl einen neuen Benutzer anlegen.
              Dieser neue Benutzer hat keine vollen Rechte und ist vergleichbar mit einem eingeschränkten Benutzer unter Windows.
              Der Befehl um einen neuen Benutzer zu erstellen lautet:
              useradd -m BENUTZERNAME
              Danach kannst du dem Account ein Passwort zuweisen:
              passwd BENUTZERNAME
              Das wars.

              Auch wenn der root-Account volle Rechte hat, man KANN zwar einiges (alles ;-) kaputt machen, aber selbst wenn man sich anfangs gar nicht auskennt, lässt man eben alles in Ruhe, was man nicht kennt. Meine bisherigen, geringen Linux-Kenntnisse habe ich alle als root gesammelt und mein System ist immer noch heile :-)

              Nur als Empfehlung, selbstverständlich darfst du auch anders vorgehen bzw. die Finger ganz vom root lassen, wenn du möchtest.

              Gruß, AND51

              1. Hi,

                Als erstes werde ich mir mal Grundkenntnisse mit dem Plesk und dem FTP aneignen.

                Und wenn ich dann damit an Grenzen komme, die ich dringend bewältigen muss
                wage ich mich ans Win Scp

                Nun habe ich mit Plesk einen Kunden angelegt und dem 2 verschieden domains vergeben.

                Die funktionieren auch beide, und die ftp zugänge auch.

                Ist es nun möglich das http://domain2/cgi-bin/mailer.cgi aufgerufen wird
                welches aber in   in http://domain1/cgi-bin/mailer.cgi liegt.

                So muss ich nicht für jede domain ein neues Skript anlegen.

                Gruß, Peter

                1. Hallo,

                  Dafür gibt es verschiedene Möglichkeiten.

                  Als erstes würde ich folgende Variante proboerieren: Beim Einrichten einer neuen Domain kommst du an einen Punkt, wo du "Physikalisches Hosting" ausgewählt hast. Ich weiß gerade nicht, wie der Menüpunkt heißt, deswegen kann ich dir nur sagen, wie diese eine Option heißt.
                  Dort gab es aber noch 2 andere Optionen, eine davon heißt "Weiterleitung", die müsste deinem Wunsch entsprechen. Dabei werden, wenn ich das richtig verstehe, alle Zugriffe auf domain2 zu domain1 umgeleitet.
                  Du erreichst besagtes Menü auch, wenn du in Plesk die domain2 anklickst, dann bei "Hosting" auf "Löschen". Achtung: Nicht nur die Einstellungen werden zurückgesetzt, auch alle Dateien, die auf domain2 liegen, werden gelöscht. Allerdings kannst du danach bei "Hosting" auf "Setup" klicken und hast dann die Möglichkeit, den Setup-Assistenten mit den Optionen "Physikalisches Hosting" und "Weiterleitung" nocheinmal zu durchlaufen.

                  Die Alternative, bei der nichts kaputt geht:
                  Beide Webspaces funktionieren weiterhin unabhängig voneinander (nicht wie oben, wo domain2 dann DAUERHAFT auf domain1 weiterleitet). Du musst dann aber selbst dafür sorgen, dass bestimmte Anfragen auf domain1 umgeleitet werden.

                  Das kann auf mehreren Arten geschehen, ich nenne hier 2 Stück, die ich in dieser Reihenfolge probieren würde:

                  1. Benutze das Apache-Modul "mod_rewrite". Es erlaubt dir, bestimmte, deinen Wünschen gemäße, Zugriffe von domain2 weiterzuleiten: Entweder woanders auf domain2 hin oder auch auf externe Ziele wie domain1. Zu mod_rewrite findest du hier auch im Kompendium von SelfHTML was, aber schau bitte auch mal hier: www.modrewrite.de
                    Bei dieser Variante benötigst du ein bisschen Kenntnis von Regulären Ausdrücken und .htaccess.

                  2. Du programmierst in Perl, PHP oder CGI? Dann hast du auf jeden Fall die Möglichkeit, dynamische Inhalte zu generieren. Also kannst du auch eigene HTTP-Responses erstellen. Du kannst also dem Browser selber mitteilen, dass eine Seite umgezogen ist. Dafür sendest du den HTTP Status Code
                    301 Moved Permanently
                    oder
                    307 Temporary Redirect
                    zurück. Dann weiß der Browser, dass er es woanders versuchen soll. Wohin du ihn leitest, das bestimmst du mit dem Location-Header. Hier ein kurzes Beispiel. Wir stellen uns vor, wir wollen wie in deinem Beitrag den Browser umleiten:

                  HTTP/1.0 307 Temporary Redirect
                  Server: MeinWebserver 1.0
                  Location: http://domain1/cgi-bin/mailer.cgi
                  Connection: close

                  Variante 1 ist bequemer, da der Webserver dann das generieren von HTTP-Responses für dich erledigt. Solltest du allerdings mit mod_rewrite gar nicht klar kommen, denn da musst du dich ja an die .htaccess ranwagen und brauchst ein paar Reguläre Ausdrücke-Kenntnisse, dann bleibt dir nichts anderes übrig, als selbst innerhalb deines CGI-Skriptes weiterzuleiten.

                  Ich hoffe, ich konnte ein bisschen helfen,
                  AND51