403 Forbidden auf symlink im web-root
Ich bin auf einem shared-hosting-Paket auf einem LAMP-stack mit keinen shell-Zugriff.
Kann ich symlinks erstellen mit Hilfe von PHP - symlink()
Funktion.
Sagen wir mal meine web-root ist /home/www/user1/public
Sagen wir, ich habe ein echtes Verzeichnis mit dem Namen /home/www/user1/public/real_dir
Und ich erstellen Sie einen symlink namens /home/www/user1/public/fake_dir
Hinweis auf real_dir
Warum ich einen 403 Forbidden beim Zugriff www.mydomain.com/fake_dir
aber nicht beim Zugriff auf www.mydomain.com/real_dir
?
Sollte es kein Rechte problem, weil wenn ich eine Datei erstellen in PHP, auf die ich zugreifen kann, dass alle Rechte.
Ich habe versucht, schalten FollowSymlinks
ab und an in .htaccess (es war), aber kein Glück.
Könnte es sein, dass FollowSymlinks
ist definiert als nicht überschreibbare in einem .htaccess-Datei? Oder gibt es sonst noch etwas zu beachten beim arbeiten mit Symlinks in der Apache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Apache muss so konfiguriert werden, dass der Zugriff auf das Verzeichnis auf dem Dateisystem. Dies muss getan werden durch einen system-administrator einfügen <Directory> Direktive in der apache-Konfigurationsdatei (httpd.conf).
Da das eigentliche Verzeichnis im web-root muss es zugänglich sein, aber FollowSymLinks kann nicht aktiviert für das Verzeichnis - das hat auch Hinzugefügt werden, um die <Directory> Richtlinie.
Sehen http://httpd.apache.org/docs/2.0/mod/core.html#directory
FollowSymlinks
ausgeschaltet ist, versucht, Zugriff auf einen symbolischen Link (auch wenn sich das Ziel auch in der web-root) wirft eine 403? Ist das der Grund?FollowSymlinks
option. Aber er fragt, ob diese Einstellung von.htaccess
können überstimmt werden von httpd.conf.FollowSymlinks
funktioniert.FollowSymLinks
Richtlinie innerhalb.htaccess
ist in der Regel vollkommen legal. Deshalb ist Ihre Antwort immer noch keine Antwort auf OP ' s seine Frage.Dies ist möglich, SELinux security-Problem.
cat /selinux/enforce
wenn der Wert 1 ist, setzen Sie ihn auf 0, dann den apache neu starten.