Apache-rewrite-Regeln nicht angewendet werden, für angularjs
Ich bin versucht, setup-apache 2.2 mit AngularJS mit eine fast exakte Struktur wie die folgende geschlossene Frage.
rewrite-Regeln für apache 2 zur Verwendung mit angular js
Möchte ich leiten alle Anfragen an app/index.html außer für Anforderungen /api.
Meine Verzeichnisstruktur ist wie folgt
- /
- /app
- /app/index.html
- /app/css
- /app/js
- /api
Ich versuche, diese redirect-Regeln in der httpd-vhosts Datei als solche, die veröffentlicht wurde, als die richtige Antwort https://stackoverflow.com/a/15284848/671095 auf die Frage.
<VirtualHost *:80>
ServerName www.test.com
DocumentRoot "C:/websites/test"
Alias /CFIDE "C:/websites/CFIDE"
RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !/api
# otherwise forward it to index.html
RewriteRule ^.*$ - [NC,L]
RewriteRule ^app/. /app/index.html [NC,L]
</VirtualHost>
Jedoch, wenn ich versuche zu besuchen /in den browser bin ich mit einem leeren Bildschirm. Wenn ich eingeben, um /app/index.html im browser jedoch bin ich in der Lage, zum anzeigen der html-Seite in meinem browser, aber keiner der css.oder js zugegriffen werden kann und wieder eine 404.
Ich war fuchsteufelswild über dieses, das scheint wie eine einfache Sache zu erreichen, als ein apache-rewrite.
Jede Hilfe wäre sehr geschätzt werden
InformationsquelleAutor matthew | 2013-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist jetzt viel einfacher, in Apache 2.2.16+ mit der FallbackResource Richtlinie.
http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource
Je nachdem, wie man die Weiterleitung den Zugriff auf Ihre API müssen Sie möglicherweise auch nutzen, die Anlage zu deaktivieren, die fallback-Ressource, die speziell auf die API-Anfragen (2.2.24+).
InformationsquelleAutor pk__
Diese funktioniert bei mir:
<base>
tag. Für das Beispiel example.com/moo, Ihr tag muss<base href="/moo/">
- damit Ihr Vermögen und Vorlagen korrekt geladenNutzung der base-tag wird abgeraten; docs.angularjs.org/guide/dev_guide.services.$Lage
es wird nur abgeraten, so weit wie Eckige empfiehlt, dass Sie es servieren aus dem document root. Wenn Sie jedoch aus irgendwelchen Gründen nicht verwenden, müssen Sie die
<base>
tag.gearbeitet, danke!
Ich habe immer Bad Request mit dieser Methode. Was es behoben wurde, setzen Sie einen Schrägstrich vor dem index.html wie so
RewriteRule (.*) /index.html [L]
InformationsquelleAutor qais
Hatte ich das gleiche Problem. Aber ich bin unwissend in
mod_rewrite
so musste Google eine Menge.Ich fand die Lösung in dieser E-Mail:
https://groups.google.com/d/msg/angular/GmNiNVyvonk/mmffPbIcnRoJ
Also ich denke, deine .htaccess sollte wie folgt Aussehen:
Beachten Sie die
(.*)
und die#/$1
Hinweis: Sie MÜSSEN verwenden Sie absolute Pfade in Ihre beinhaltet CSS, JS, etc. wenn du nicht gehst, um den Fehler zu erhalten:
mywebsite.com
es nicht passieren, um die index.html Datei auch jetzt, wenn ich aufmywebsite.com/app/
bin ich mit einem 404 im browserIch habe Ihren code benutzt und ich sehe die "Internal Server Error" - Meldung. Irgendwelche Ideen auf, wie man dieses Problem beheben?
InformationsquelleAutor elviejo79
Weiß nicht, ob Sie noch mit diesem problem, aber ich hatte die gleichen Symptome mit AngularJS und Apache 2.
Mein problem war eigentlich, dass ich mit IE, und es wurde automatisch kommen im Kompatibilitäts-Modus. Ich nutzte die Linie unten in meiner HTML-und es funktionierte.
Weiter beschrieben: < Was bedeutet <meta http-equiv="X-UA-Compatible" content="IE=edge"> tun? >.
InformationsquelleAutor apandit