Apache lokalen Konfiguration zu beheben-Dateien korrekt
Habe ich nur konfiguriert, Apache und PHP auf meinem lokalen Mac OS X-computer. Jetzt PHP funktioniert gut, außer wenn ich versuche, laden Sie die Dateien für meine live-Seiten. Die live-Seiten haben getrennte Verzeichnisse und sind sortiert nach client-name etc.
Habe ich erstellt symlinks in das Standard-Stammverzeichnis für den lokalen web-server-Dokumente. Mein Problem ist, dass der Apache scheint nicht zu laden möchten, können die relativen Pfadangaben in HTML-Seiten. Ich habe zum Beispiel src="/css/main.css - " aber Apache nicht laden Sie die Datei, ähnlich wie für die Bilder, nur es löst, da eine Datei nicht gefunden 404-Fehler. Ich dachte dann, es könnte die symlinks, so dass ich kopiert das vollständige Verzeichnis, in das Apache-document-root, und hatte immer noch das gleiche Ergebnis.
Ich würde wirklich lieben, um das setup meiner lokalen Entwicklungsumgebung zum laufen Apache, PHP, MySQL zu entwickeln, die lokal dann zu veröffentlichen, wenn Sie fertig sind. Ich habe auch versucht, die MAMP-installation, und hatte die gleichen Probleme.
InformationsquelleAutor Alex E. | 2010-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst möchten Sie vielleicht versuchen, mit src="./css/main.css".
Beim Umgang mit mehreren live Seiten ich mag, um das setup eine einzelne Konfigurationsdatei für jeden Standort mit apache und dann laden Sie Sie alle zusammen in der httpd.conf-Datei.
für mein setup sieht wie folgt aus:
in
/etc/apache2/httpd.conf
Habe ich:
und dann in
/etc/apache2/conf/judyates.conf
Habe ich:
Dieser Weg funktioniert wirklich gut, da können Sie die subdomain yoursite.localhost
um die Schleife wieder zu Ihrem Heim-ip-Adresse.
Mit diesem setup, wenn ich auf judyates.com auf meinem computer und testen wollen anythig, gehe ich nur zu judyates.localhost in meinem browser.
Habe ich über die anderen 5 Websites eingerichtet, auf diese Weise in Ihr eigenes *.conf-Datei, so können Sie alle Leben in Ihren eigenen Verzeichnissen auf meinem computer, dass genau die Verzeichnisse, die Sie in sein werde auf dem server.
Der Schlüssel ist die Verwendung von virtuellen hosts, um verschiedene Websites basierend auf der subdomain.
Können Sie lernen, wie zu konfigurieren, subdomains, Punkt an dich hier:
http://digitalpbk.blogspot.com/2007/01/making-subdomains-on-localhost.html
Mein setup geht sogar noch einen Schritt weiter, weil ich die Konfiguration auf dem server zu. Immer, wenn ich aktualisieren möchten, lade ich sowohl die webfiles UND die apache config-Dateien und die server genau, Außenspiegel meinem lokalen setup. Der einzige Unterschied ist, dass die wirkliche judyates.com Punkte auf dem server und nicht auf meinem computer zu Hause, so dass, wenn Leute versuchen, die Website zu besuchen Sie bekommen alles vom server.
InformationsquelleAutor Robert McIntyre
Haben Sie versucht src="css/main.css"? Das ist, ohne den führenden slash? Wenn Sie einen führenden Schrägstrich dort Ihre Dateien werden in einem Verzeichnis mit dem Namen " css-das war im root-Verzeichnis des Webservers, und wenn ich Sie richtig verstehe, dass ist nicht der Fall.
EDIT: OK, aus der Lektüre Ihrer Kommentare, es scheint, dass Sie nicht ganz klar, wie relative urls funktionieren. "/css/main.css" ist nicht in Bezug auf die Position der Seite in der Verzeichnisstruktur. Es bedeutet, eine Datei mit dem Namen "main.css" in einem Ordner mit dem Namen "css" in das root-Verzeichnis des Webservers. Wenn Sie Ihre Dateien auf dem deployment-server-css-Verzeichnis ist in die webserver-root-Verzeichnis. Aber es klingt wie Sie sind gerade dabei, das css-Verzeichnis in ein Unterverzeichnis mit dem Namen für den client... also deine css-Datei lebt jetzt unter "/< clientname > /css/main.css".
Wenn ich Sie richtig verstehe, Sie können tun, was Sie wollen, indem Sie relative urls. Wenn Ihre html-Datei im gleichen Verzeichnis wie die css-Verzeichnis müssten Sie "css/main.css". Wenn es in einem Unterverzeichnis des Verzeichnisses mit der css-Verzeichnis, das Sie brauchen würde "../css/main.css" - " .. " bedeutet, dass das übergeordnete Verzeichnis des aktuellen Verzeichnisses. Wenn Sie relative urls verwenden, werden Sie weiterhin arbeiten, solange die Beziehung zwischen den Dateien nicht ändern.
Hier eine Seite zu dem Thema, das erklärt es ausreichend, denke ich: http://www.webreference.com/html/tutorial2/3.html. War so ziemlich das erste, was ich im Google gefunden obwohl, so gibt es wahrscheinlich bessere Erklärungen gibt.
Gibt es eine Reihe von Apache-Direktiven, die Sie verwenden, um dies zu tun, aber wenn relative urls zu verwenden, für Sie arbeiten würde (und wenn ich Sie richtig verstehe, es würde), dann ist das wahrscheinlich viel einfacher und weniger wahrscheinlich zu führen, dass Sie weiteren ärger.
Vielleicht eine bessere Frage ist, warum hat /css/main.css richtig auf die live-server, aber nicht auf meinem lokalen?
InformationsquelleAutor Tagore Smith