Ich habe eine einfache App mit AngularJS erstellt. Als ich versuchte, dieses Projekt auf meiner Website http://demo.gaurabdahal.com/recipefinder zu hosten, wird der folgende Fehler angezeigt:
verboten
Sie haben auf diesem Server keine Berechtigung zum Zugriff auf / prescriptionfinder. Der Server kann die htaccess-Datei nicht lesen und verweigert den sicheren Zugriff
Wenn ich jedoch zu http://demo.gaurabdahal.com/ gehe, wird erwartungsgemäß die Meldung "Zugriff verweigert" angezeigt, die ich gedruckt habe. Aber warum kann AngularJS nicht "Rezeptfinder" öffnen? Wenn ich versucht habe, eine einfache HTML-App dort zu platzieren, wird sie problemlos geöffnet.
Das gleiche AngularJS-Projekt funktioniert einwandfrei, wenn ich es in github hoste ( http://gaurabdahal.github.io/recipefinder ).
Ich kann nicht verstehen, was los ist.
chmod 777
, wenn Sie dies tun , stirbt irgendwo auf der Welt ein KätzchenAntworten:
Ich hatte auch dieses Problem. Mein Rat ist, in Ihrer Serverfehlerprotokolldatei nachzuschauen. Für mich war das oberste Verzeichnis für das Projekt nicht lesbar. Das Fehlerprotokoll hat dies eindeutig angegeben. Eine einfache
habe es für mich behoben.
quelle
<site_top_folder>
ist am wichtigsten. Sie sollten dem ROOT-Ordner die Berechtigung erteilen. Es hat gut funktioniert. Vielen Dank.-R
??? Dies ändert auch die Berechtigung aller Dateien ...Setzen Sie die Gruppe Ihres öffentlichen Verzeichnisses auf "Niemand".
quelle
Dies ist ein häufiges Problem beim Hosting von virtuellen GoDaddy-Servern, wenn Sie eine neue Website aufrufen.
Angenommen, Sie haben SSH-Zugriff auf den Server (Sie müssen ihn auf cPanel aktivieren), melden Sie sich bei Ihrem Konto an. Nach erfolgreicher Anmeldung werden Sie in das Ausgangsverzeichnis Ihres Kontos gestellt. Der DocumentRoot für Ihre Website befindet sich in einem Unterverzeichnis mit dem Namen public_html. GoDaddy setzt standardmäßig die Berechtigungen für dieses Verzeichnis auf 750, aber diese Berechtigungen reichen nicht aus, damit Apache die Dateien für die Website lesen kann. Sie müssen die Berechtigungen für dieses Verzeichnis in 755 (chmod 755 public_html) ändern.
Kopieren Sie die Dateien für Ihre Website in das Verzeichnis public_html (sowohl scp als auch rsync funktionieren zum Kopieren von Dateien auf einen GoDaddy Linux-Server).
Stellen Sie als Nächstes sicher, dass alle Dateien unter public_html weltweit lesbar sind. Verwenden Sie dazu den folgenden Befehl:
Wenn Sie über andere Unterverzeichnisse verfügen (z. B. CSS, JS und IMG), stellen Sie sicher, dass diese für die Welt zugänglich sind, indem Sie sowohl Lesen als auch Ausführen für den Weltzugriff aktivieren:
Zuletzt benötigen Sie eine .htaccess-Datei in der public_html-Datei. GoDaddy erzwingt eine Regel, die das Laden der Site verbietet, wenn sich in Ihrem Verzeichnis public_html keine .htaccess-Datei befindet. Sie können vi verwenden, um diese Datei zu erstellen ("vi .htaccess"). Geben Sie die folgenden Zeilen in die Datei ein:
Diese Konfiguration funktioniert sowohl für Apache 2.2 als auch für Apache 2.4. Speichern Sie die Datei (ZZ) und stellen Sie sicher, dass die Datei die Berechtigung 644 hat:
Klappt wunderbar.
quelle
Sie müssen diese Befehle in
/var/www/html/
einem anderen Verzeichnis ausführen, in dem sich Ihr Projekt befindet:In meinem Fall (Apache-Webserver) verwende ich
www-data
füruser
undgroup
quelle
Jeder öffentliche Ordner erteilt die Berechtigung für 755. Problem gelöst.
quelle
Gemeinsame GoDaddy-Serverlösung
Ich hatte das gleiche Problem beim Versuch, ein separates Laravel-Projekt auf Subdomain-Ebene bereitzustellen.
Dateistruktur
Lösung
Gehen Sie zu cPanel Ihres GoDaddy-Kontos
Öffnen Sie den Dateimanager
Navigieren Sie zu dem Ordner, in dem 403 verbotene Fehler angezeigt werden
Klicken Sie im Dateimanager mit der rechten Maustaste auf den Ordner (in meinem Fall booking.mydomain.com).
Wählen Sie Berechtigungen ändern
Aktivieren Sie die folgenden Kontrollkästchen
Klicken Sie auf Berechtigungen ändern
quelle
In meinem Fall war Apache irgendwie falsch konfiguriert (?), Also musste ich auch Berechtigungen für alle übergeordneten Verzeichnisse festlegen. Nur das Setzen der Berechtigung auf .htaccess (und das übergeordnete Verzeichnis) hat nicht funktioniert.
quelle
Bei Apache unter Ubuntu bestand die Lösung darin, das Fehlerprotokoll zu überprüfen, aus dem hervorgeht, dass der Fehler mit der Ordner- und Dateiberechtigung zusammenhängt.
Überprüfen Sie zunächst das Apache-Fehlerprotokoll
Stellen Sie dann die Ordnerberechtigung so ein, dass sie ausführbar ist
Stellen Sie außerdem die Dateiberechtigung so ein, dass sie lesbar ist
quelle
Nur meine Lösung. Ich hatte eine Datei extrahiert, einige kleinere Änderungen vorgenommen und den obigen Fehler erhalten. Alles gelöscht, hochgeladen und wieder extrahiert und normales Geschäft.
quelle
Ich hatte das gleiche Problem mit Fedora und stellte fest, dass das Problem Selinux war. Um zu testen, ob es sich um ein Problem handelt, führen Sie den folgenden Befehl aus: sudo setenforce 0
Andernfalls oder in der Datei / etc / sysconfig / selinux ändern
oder fügen Sie selinux Regeln hinzu, um den http-Zugriff zu ermöglichen
quelle
Wichtige Punkte meiner Erfahrung:
xx5
in jedem chmod in anderen Antworten.xx5
oderchmod o+rx
ist notwendig.Aber die größere Schlussfolgerung, zu der ich gelangt bin, ist , von wenig zu mehr zu beginnen.
Wenn zum Beispiel
http://myserver.com/sites/all/resources/assets/css/bootstrap.css
ergibt sich ein 403 - Fehler, obhttp://myserver.com/
funktioniert, dannsites
, dannsites/all
, dannsites/all/resources
, und so weiter.Es ist hilfreich, wenn auf Ihrem Server Verzeichnisindizes aktiviert sind:
Options +Indexes
Diese Anweisung befindet sich möglicherweise auch im
.htaccess
Ordner public_html Ihres Webservers.quelle
Ich hatte das gleiche Problem auf einem Rackspeed-Server, nachdem ich die PHP-Version im Cpanel geändert hatte. Es stellte sich heraus, dass es auch die Berechtigungen des Ordners geändert hat ... Ich habe die Berechtigung des Ordners auf 755 mit gesetzt
quelle
"Server kann htaccess-Datei nicht lesen" bedeutet genau das. Stellen Sie sicher, dass die Berechtigungen für Ihre
.htaccess
Datei weltweit lesbar sind.quelle
chmod 644 .htaccess