Ich bin auf einem Shared-Hosting-Paket auf einem LAMP-Stack ohne Shell-Zugriff.403 Auf Symlink in Web-Root verboten
Ich kann Symlinks mit PHP symlink()
Funktion erstellen.
Lassen Sie uns sagen, dass meine Web-Root /home/www/user1/public
ist Lassen Sie uns sagen, ich habe ein echtes Verzeichnis mit dem Namen /home/www/user1/public/real_dir
Und ich erstellen einen Symlink /home/www/user1/public/fake_dir
namens Hinweis auf real_dir
Warum würde ich eine 403 Forbidden bekommen beim Versuch, auf www.mydomain.com/fake_dir
zuzugreifen, aber nicht, wenn Sie versuchen, auf www.mydomain.com/real_dir
zuzugreifen?
Es sollte kein Rechtsproblem sein, denn wenn ich eine Datei in PHP erstelle, kann ich darauf gut zugreifen.
Ich habe versucht, FollowSymlinks
aus und wieder in .htaccess (es war eingeschaltet), aber kein Glück.
Könnte es sein, dass FollowSymlinks
in einer .htaccess-Datei als nicht überschreibbar definiert ist? Oder ist bei der Arbeit mit Symlinks in Apache noch etwas zu beachten?
Also, wenn es nicht auf diese Weise konfiguriert ist und 'FollowSymlinks' ausgeschaltet ist, wird beim Versuch, auf einen Symlink zuzugreifen (obwohl das Ziel auch im Web-Root ist), ein 403-Zeichen gesetzt? Ist das der Grund? –
Entschuldigung, ich lese gerade Ihre Frage erneut und habe gesehen, dass das echte Verzeichnis im Web-Root ist, so dass es zugänglich sein wird, aber FollowSymLinks ist möglicherweise nicht aktiviert. Ich habe meine Antwort aktualisiert, um dies zu berücksichtigen. – Sam
-1 Dies ist immer noch keine Antwort auf die Frage von OP. OP scheint sich der "FollowSymlinks" -Option bewusst zu sein. Aber er fragt, ob das Setzen von '.htaccess' aus der httpd.conf ausgeschlossen werden kann. –