Projektverknüpfungen funktionieren auf Wamp Server nicht

82

Ich installiere den Wamp-Server auf einem anderen Computer, um eine mittelgroße Datenbank und Benutzeroberfläche auszuführen. Es ist mir gelungen, IIS zu blockieren und den Server an Localhost: 8080 weiterzuleiten. Aber wann immer ich versuche, über die localhost-Homepage in der www-Datei auf eines meiner Projekte zuzugreifen; Ich werde zu einem Fehler "Seite nicht gefunden" weitergeleitet.

Wenn ich über den Links schwebe, wird immer das Verzeichnis "http: // ProjectFolderNameHere /" angezeigt. wenn es "http: // LocalHost: 8080 / ProjectFolderNameHere /" sein soll. Was kann ich tun, damit die Links ordnungsgemäß funktionieren?

Mein Computer läuft unter Windows 7 Home Edition 64-Bit, und Microsoft IIS ist bereits deaktiviert.

user3638431
quelle
Können Sie auf localhost: 8080 / index.html zugreifen (vorausgesetzt, Sie haben einen)? Wo sind die Links gespeichert, die Ihnen diese defekten URLs anzeigen? Wer hat sie geschrieben? Es scheint, dass diese Links nur schlecht geschrieben sind.
Patrick
Nein, aber ich habe versucht, eine Verbindung zu einer meiner Dateien herzustellen. Alles hier eingestellt. Danke!
user3638431
Wenn Sie eine Lösung gefunden haben, beantworten Sie Ihre eigene Frage als zukünftige Referenz :)
Patrick
Ok Also habe ich Patricks Rat befolgt, aber stattdessen habe ich localhost: 8080 / ProjectFilename eingegeben und endlich Zugriff auf mein Projekt erhalten. Mein Problem bleibt bestehen, aber ich habe einen Weg gefunden, es zu umgehen.
user3638431
Nun, ich glaube, Ihre Links (die, auf die Sie klicken) sind falsch geschrieben. Wenn Sie mehr Licht darauf werfen könnten, wie Sie zu diesen Links gelangen, wo sie geschrieben sind, bevor Sie darauf klicken, könnte ich Ihnen weiterhelfen
Patrick

Antworten:

156

So erstellen Sie einen virtuellen Host in WampServer


WAMPServer 3 hat diesen Vorgang erheblich vereinfacht!

Sie können fast alles mit einem Dienstprogramm ausführen, das als Teil von WAMPServer bereitgestellt wird.

  • Erstellen Sie einen Ordner mit Ihrer project.site. Dies kann sich unter dem C:\wamp\www\Verzeichnis oder in einem völlig separaten Ordner wie befinden C:\websites.

  • Erstellen Sie einen Ordner an dem von Ihnen ausgewählten Ort C:\websites\project1\wwwoder unterc:\wamp\www\project1\www

  • Öffnen Sie nun localhost wampmanager->localhostund klicken Sie auf den Link Add a Virtual Hostunter dem Abschnitt TOOLS auf der Homepage.

Sie sehen eine Seite wie diese:

Geben Sie hier die Bildbeschreibung ein

  • Füllen Sie die Felder aus, wie in den Anweisungen über jedem Feld angegeben

  • Die Virtual Host-Konfiguration wurde für Sie erstellt.

  • Jetzt müssen Sie den DNS-Cache neu starten. Sie können dies über die Wampmanager-Menüs wie folgt tun right click wampmanager->Tools->Restart DNS. Der DNS-Cache wird neu gestartet, und dann wird auch Apache gestoppt und neu gestartet. Wenn das Wampmanager-Symbol wieder grün leuchtet, ist alles abgeschlossen.

  • Jetzt müssen Sie eine einfache index.phpDatei erstellen oder Ihre Site in dem oben erstellten Ordner installieren.

  • Angenommen, Ihre VH wurde aufgerufen. Diesen project.devNamen sollten Sie im Abschnitt Ihre virtuellen Hosts auf der WAMPServer-Homepage sehen.

  • Sie können die Site über dieses Menü starten oder einfach den neuen Domainnamen in der Adressleiste EG verwenden project1.devund die Site sollte gestartet werden.


Alter WAMPServer 2.5-Mechanismus, oder wenn Sie alles manuell erledigen möchten

In WampServer 2.5 und höher wurde das Konzept geändert, und es gibt einen guten Grund für diese Änderung!

In WampServer wird jetzt dringend empfohlen, für jedes Ihrer Projekte einen virtuellen Host zu erstellen, selbst wenn Sie diese in einer \wamp\www\subfolderStruktur halten.

Dokumentation zu virtuellen Hosts

Beispiele für virtuelle Hosts

Die WampServer-Homepage ( \wamp\www\index.php) erwartet nun, dass Sie für alle Ihre Projekte einen virtuellen Host erstellt haben, und funktioniert daher nur dann ordnungsgemäß, wenn Sie dies tun.

Geschichte

Um Anfängern das Erlernen von PHP Apache und MySQL mit WampServer zu erleichtern, wurde empfohlen, Unterordner unter dem \wamp\www\Ordner zu erstellen .

wamp
  |-- www
       |-- Chapter1
       |-- Chapter2
       |-- etc

Diese Unterordner werden dann als Links auf der WampServer-Homepage unter einem Menü mit dem Namen "Ihre Projekte" angezeigt, und diese Links enthalten einen Link zu localhost/subfoldername.

Akzeptabel nur für einfache Tutorials

Dies machte dem Anfänger das Leben leicht und war beispielsweise für die folgenden Tutorials zum Erlernen der PHP-Codierung durchaus akzeptabel. Es war jedoch nie für die Entwicklung einer echten Website vorgesehen, die Sie später auf Ihren live gehosteten Server kopieren möchten. Wenn Sie diesen Mechanismus verwenden, verursacht dies häufig Probleme, da die Konfiguration der Live-Sites nicht mit Ihrer Entwicklungskonfiguration übereinstimmt.

Das Problem für eine echte Website-Entwicklung.

Der Grund dafür ist natürlich, dass die Standardeinstellung für DocumentRoot für wamp lautet

DocumentRoot "c:/wamp/www/"

unabhängig davon, wie Ihr Unterordner genannt wurde. Dieses Ment, das häufig PHP-Code verwendete, der die Struktur oder Ihre Site abfragte, erhielt beim Ausführen auf Ihrem Entwicklungs-WampServer andere Informationen als beim Ausführen auf einem live gehosteten Server, wobei die DocumentRoot-Konfiguration auf den Ordner oben auf der Website verweist Dateihierarchie. Diese Art von Code existiert in vielen Frameworks und CMS, zum Beispiel WordPress und Joomla usw.

Beispielsweise

Nehmen wir an, wir haben ein Projekt namens project1 in wamp\www\project1und werden falsch ausgeführt alslocalhost/project1/index.php

Dies wird von einigen der fraglichen PHP-Befehle gemeldet:

$_SERVER['HTTP_HOST'] = localhost
$_SERVER['SERVER_NAME'] = localhost
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www

Wenn wir diese Site nun mithilfe einer Virtual Host-Definition korrekt definiert und http://project1ausgeführt haben, stimmen die Ergebnisse auf der WAMPServer-Entwicklungssite mit denen überein, die in einer live gehosteten Umgebung empfangen wurden.

$_SERVER['HTTP_HOST'] = project1
$_SERVER['SERVER_NAME'] = project1
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www/project1

Nun mag dieser Unterschied zunächst trivial erscheinen, aber wenn Sie beispielsweise ein Framework wie WordPress oder eines der CMS wie Joomla verwenden, kann und verursacht dies Probleme, wenn Sie Ihre Site auf einen Live-Server verschieben.

So erstellen Sie einen virtuellen Host in WampServer

Eigentlich sollte dies für jeden Windows-Apache-Server grundsätzlich gleich funktionieren, mit Unterschieden nur dort, wo Sie die Apache-Konfigurationsdateien finden.

Es gibt 3 Schritte, um Ihren ersten virtuellen Host in Apache zu erstellen, und nur 2, wenn Sie bereits einen definiert haben.

  1. Erstellen Sie die Definition (en) des virtuellen Hosts
  2. Fügen Sie Ihren neuen Domainnamen zur HOSTS-Datei hinzu.
  3. Kommentieren Sie die Zeile in httpd.conf aus, die die Definitionsdatei für virtuelle Hosts enthält.

Schritt 1 : Erstellen Sie die Definition (en) des virtuellen Hosts.

Bearbeiten Sie die aufgerufene Datei, in httpd-hosts.confder sich WampServer befindet

\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf

(Die Versionsnummern von Apache können abweichen. Schalten Sie das Gehirn ein, bevor Sie fortfahren.)

Wenn Sie diese Datei zum ersten Mal bearbeiten, entfernen Sie den Standardbeispielcode. Dies ist nutzlos.

Ich gehe davon aus, dass wir eine Definition für eine Site namens project1 erstellen möchten, in der lebt

\wamp\www\project1

Sehr wichtig, zuerst müssen wir sicherstellen, dass localhost noch funktioniert, damit dies die erste VHOST-Definition ist, die wir in diese Datei einfügen.

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Jetzt definieren wir unser Projekt: und das tun Sie natürlich für jedes Ihrer Projekte, wenn Sie ein neues starten.

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/project1"
    ServerName project1
    <Directory  "c:/wamp/www/project1">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

HINWEIS: Jeder virtuelle Host wird als eigener DocumentRootdefiniert. Es gibt auch viele andere Parameter, die Sie einer Definition für virtuelle Hosts hinzufügen können. Überprüfen Sie die Apache-Dokumentation.

Klein beiseite

Funktionsweise virtueller Hosts in Apache: Die erste Definition in dieser Datei ist auch die Standardwebsite. Sollte der im Browser verwendete Domänenname nicht mit einer tatsächlich definierten virtuell gehosteten Domäne übereinstimmen, wird localhost daher zur ersten Domäne in der Datei Es ist die Site, die geladen wird, wenn ein Hack-Versuch nur Ihre IP-Adresse verwendet. Wenn wir also sicherstellen, dass die Apache-Sicherheit für diese Domain IMMER auf eingestellt ist

Require local

Jeder gelegentliche Hack von einer externen Adresse erhält einen Fehler und gelangt nicht auf Ihren PC. Sollten Sie jedoch eine Domain falsch schreiben, wird Ihnen die WampServer-Homepage angezeigt, da Sie sich auf demselben PC wie WampServer befinden und daher local .

Schritt 2 :

Fügen Sie Ihren neuen Domainnamen zur HOSTS-Datei hinzu. Jetzt müssen wir den Domänennamen, den wir in der Definition des virtuellen Hosts verwendet haben, zur HOSTS-Datei hinzufügen, damit Windows weiß, wo er zu finden ist. Dies ähnelt dem Erstellen eines DNS A-Eintrags, ist jedoch nur in diesem Fall auf diesem bestimmten PC sichtbar.

Bearbeiten C:\windows\system32\drivers\etc\hosts

Die Datei hat keine Erweiterung und sollte dies auch bleiben. Achten .txtSie auf den Editor , da dieser möglicherweise versucht, eine Erweiterung hinzuzufügen, wenn Sie keinen besseren Editor haben. Ich schlage vor, Sie laden Notepad ++ herunter, es ist kostenlos und ein sehr guter Editor.

Dies ist auch eine geschützte Datei, daher müssen Sie sie mit Administratorrechten bearbeiten. Starten Sie daher Ihren Editor über die Menüoption Als Administrator ausführen.

Die Hosts-Datei sollte so aussehen, wenn Sie diese Änderungen abgeschlossen haben

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Beachten Sie, dass Sie hier Definitionen für die IPV4-Loopback-Adresse 127.0.0.1und auch für die IPV6-Loopback-Adresse haben sollten::1 da Apache jetzt IPV6-fähig ist und der Browser entweder IPV4 oder IPV6 oder beides verwendet. Ich habe keine Ahnung, wie es entscheidet, welche verwendet werden soll, aber es kann entweder verwendet werden, wenn Sie den IPV6-Stack aktiviert haben, und die meisten Windows-Betriebssysteme tun dies ab XP SP3.

Jetzt müssen wir Windows anweisen, seinen Domänennamen-Cache zu aktualisieren. Starten Sie daher erneut ein Befehlsfenster, indem Sie die Menüoption Als Administrator ausführen erneut ausführen, und führen Sie die folgenden Schritte aus.

net stop dnscache
net start dnscache

Dadurch wird Windows gezwungen, den Domänennamen-Cache zu löschen und neu zu laden. Beim erneuten Laden wird die HOSTS-Datei erneut gelesen, sodass es jetzt über die Domäne informiert ist project1.

Schritt 3 : Kommentieren Sie die Zeile in httpd.conf aus, die die Definitionsdatei für virtuelle Hosts enthält.

Bearbeiten Sie Ihre httpd.conf und verwenden Sie die Menüs wampmanager.exe, um sicherzustellen, dass Sie die richtige Datei bearbeiten.

Finden Sie diese Zeile in httpd.conf

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Und entfernen Sie einfach das, #um diese Zeile zu kommentieren.

Um diese Änderung bei der Ausführung von Apache zu aktivieren, müssen wir jetzt den Apache-Dienst stoppen und neu starten.

wampmanager.exe -> Apache -> Service -> Restart Service

Wenn das WAMP-Symbol in der Taskleiste nicht wieder GRÜN wird, bedeutet dies, dass Sie wahrscheinlich etwas in der \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.confDatei falsch gemacht haben .

Wenn ja, ist hier ein nützlicher Mechanismus, um herauszufinden, was falsch ist. Es verwendet eine Funktion der Apache-Exe (httpd.exe), um die Konfigurationsdateien zu überprüfen und Fehler anhand von Dateinamen und Zeilennummern zu melden.

Starten Sie ein Befehlsfenster.

cd \wamp\bin\apache\apache2.4.9\bin
httpd -t

Beheben Sie also die Fehler und wiederholen Sie den Test, bis Sie die Ausgabe erhalten

Syntax OK

Jetzt gibt es noch eine Sache.

Es gibt tatsächlich 2 neue Menüpunkte im Wampmanager-Menüsystem. Eine mit dem Namen "Meine Projekte", die standardmäßig aktiviert ist. Und eine zweite mit dem Namen "Meine virtuellen Hosts". , die standardmäßig nicht aktiviert ist.

'Meine Projekte' listet alle Unterverzeichnisse des Verzeichnisses \ wamp \ www auf und bietet einen Link zum Starten der Site in diesem Unterverzeichnis. Wie ich bereits sagte, wird "project1" und nicht "localhost / project1" gestartet. Damit der Link funktioniert, müssen wir eine Virtual Host-Definition erstellen, damit dieser Link diese Site tatsächlich in Ihrem Browser startet, ohne die Definition des Virtual Host Starten Sie eine Websuche nach dem Site-Namen als Schlüsselwort oder geben Sie einfach eine nicht gefundene Site-Bedingung zurück.

Der Menüpunkt "Meine virtuellen Hosts" ist etwas anders. Es durchsucht die Datei, die zum Definieren von virtuellen Hosts verwendet wird (wir werden gleich darauf zurückkommen) und erstellt Menüverknüpfungen für jeden gefundenen ServerName-Parameter und erstellt für jeden einen Menüpunkt. Dies mag etwas verwirrend erscheinen, da nach dem Erstellen einer Virtual Host-Definition für die Unterverzeichnisse des Ordners \ wamp \ www einige Elemente sowohl im Menü "Meine Projekte" als auch im Menü "Meine virtuellen Hosts" angezeigt werden.

Wie schalte ich dieses andere Menü "Meine virtuellen Hosts" ein?

  • Erstellen Sie eine Sicherungskopie der Datei \ wamp \ wampmanager.tpl. Falls Sie einen Fehler machen, handelt es sich um eine sehr wichtige Datei.
  • Bearbeiten Sie die Datei \ wamp \ wampmanager.tpl
  • Suchen Sie diesen Parameter ;WAMPPROJECTSUBMENUim Abschnitt '[Menu.Left]'.
  • Fügen Sie diesen neuen Parameter ;WAMPVHOSTSUBMENUentweder vor oder nach dem hinzu;WAMPPROJECTSUBMENU Parameter hinzu.
  • Speicher die Datei.
  • Klicken Sie nun mit der rechten Maustaste auf das Wampmanager-Symbol und wählen Sie "Aktualisieren". Wenn das Menü dadurch nicht hinzugefügt wird, beenden Sie den Wampmanager und starten Sie ihn neu.

Großer Hinweis Das neue Menü wird nur angezeigt, wenn Sie bereits einige virtuelle Hosts definiert haben! Andernfalls sehen Sie keinen Unterschied, bis Sie einen VHOST definieren.

Nun, wenn Sie dies zu seiner logischen Erweiterung nehmen

Sie können Ihren Website-Code jetzt vollständig außerhalb von verschieben \wamp\ Ordnerstruktur verschieben, indem Sie einfach den DocumentRoot-Parameter in der VHOST-Definition ändern. So könnten Sie zum Beispiel Folgendes tun:

Erstellen Sie einen Ordner auf der Wamp-Festplatte oder einer anderen Festplatte (Vorsicht vor dem Netzwerklaufwerk, diese sind etwas komplizierter).

D:
MD websites
CD websites
MD example.com
CD example.com
MD www

Sie kopieren jetzt Ihren Site-Code in oder erstellen ihn im \websites\example.com\wwwOrdner und definieren Ihren VHOST folgendermaßen:

<VirtualHost *:80>
    DocumentRoot "d:/websites/example.com/www"
    ServerName example.dev
    ServerAlias www.example.dev
    <Directory  "d:/websites/example.com/www">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    php_flag display_errors Off
    php_flag log_errors On

    php_value max_upload_size 40M
    php_value max_execution_time 60
    php_value error_log "d:/wamp/logs/example_com_phperror.log"
</VirtualHost>

Fügen Sie dann diese neue Entwicklungsdomäne zur HOSTS-Datei hinzu:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

HINWEIS: Es ist keine gute Idee, einen Servernamen oder ServerAlias ​​zu verwenden, der mit Ihrem Live-Domainnamen identisch ist. Wenn wir example.com als Servernamen verwendet hätten, würde dies bedeuten, dass wir von hier aus nicht mehr zur realen Live-Site gelangen könnten PC, wie es example.com auf 127.0.0.1 leiten würde, dh diesen PC und nicht ins Internet.

AUCH: Da ich den Zugriff auf diese Site aus dem Internet innerhalb der VHOST-Definitionen zugelassen habe, gilt diese Änderung nur für diese Site und keine andere. Sehr nützlich, damit ein Client Ihre Änderungen etwa eine Stunde lang anzeigen kann, ohne sie auf den Live-Server kopieren zu müssen. Dies bedeutet, dass wir diese Datei manuell bearbeiten müssen, um diesen Zugriff ein- und auszuschalten, anstatt den Menüpunkt Online / Offline setzen auf wampmanager zu verwenden.

Außerdem habe ich einige Änderungen an der PHP-Konfiguration hinzugefügt, die wiederum nur für diese eine Site gelten. Sehr nützlich, wenn Sie eine Site mit bestimmten Anforderungen pflegen, im Gegensatz zu allen anderen Sites, die Sie pflegen. Ich denke, wir können von den verwendeten Parametern annehmen, dass es irgendwo eine lange laufende Seite gibt und es sehr schlecht geschrieben ist und nicht mit Fehlern ausgeführt wird, die im Browser angezeigt werden, ohne die Seite schrecklich zu verwirren. Glauben Sie mir, dass es solche Websites gibt und die Leute immer noch wollen, dass sie schlecht gepflegt werden . Dies bedeutet jedoch, dass wir diese Parameter nur für diese bestimmte Site und nicht global für alle virtuellen Sites ändern müssen, die auf WampServer ausgeführt werden.

RiggsFolly
quelle
Sehr hilfreich. Dies sollte wirklich die akzeptierte Antwort sein. Sehr informativ und wenn es richtig befolgt wird, sind Sie in ungefähr 10 Minuten einsatzbereit. Guter Hinweis. Ein kurzer Punkt. Ich habe den Fehler .htaccess: Ungültiger Befehl 'RewriteEngine' erhalten. Ich musste rewrite_module im Menü Apache Modules ankreuzen. Könnte jemand antworten, warum ich das tun musste?
Chris
1
Das rewrite_module von @Chris Apache ist der Code, der die Rewrite-Engine tatsächlich bereitstellt. Ohne sie weiß Apache nicht, wie man URLs umschreibt. Grundsätzlich ist es nicht Teil des Kerns von Apache, sondern ein Addon aus Mangel an einer besseren Beschreibung
RiggsFolly
"Bearbeiten Sie die Datei mit dem Namen httpd-hosts.conf, die sich für WampServer in \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf befindet." In meiner Neuinstallation von wampserver 2.5 ist diese Datei nicht vorhanden. Wenn Sie httpd-vhosts.conf gemeint haben, korrigieren Sie bitte.
bcsteeve
2
@ starleaf1 Du wünschst unser Befehl! Laufen Sie localhost/add_vhost.phpauf WAMPServer 3, lesen Sie diesen Beitrag im WAMPServers Forum
RiggsFolly
1
Sprechen Sie über ausführliche Erklärungen! +1 für das right click wampmanager -> Tools -> Restart DNS, was den Trick getan hat, nachdem ein neuer virtueller Host hinzugefügt wurde und nicht verstanden hat, warum es noch nicht funktioniert hat.
Paesano2000
74

Ich glaube, das ist die beste Lösung:

Öffnen Sie die Datei index.php im Ordner www und legen Sie sie fest

Zeile 30 ändern:$suppress_localhost = true;

zu $suppress_localhost = false;

Dadurch wird sichergestellt, dass dem Projekt die IP / Name Ihres lokalen Hosts vorangestellt wird

Hussain
quelle
1
Vielen Dank! Problem behoben, aber der Pfad für Symbole / Bilder von / icons zeigt nicht blank.git, back.gif, folder.gif wird nicht gefunden. Gibt es auch dafür eine Lösung?
Shubham Badal
3
Ja, erstellen Sie für jede Site einen virtuellen Host. Weitere Informationen finden Sie in der obigen Antwort.
RiggsFolly
1
Es gibt jetzt (WAMPSERVER 3) eine einfache Menüoption auf wampmanager, um dies zu tun, wenn Sie wirklich nicht verstehen, was für eine schlechte Idee es ist. right click wampmanager->Wamp Settings->Add localhost to urlDas einzig gute daran ist, dass Sie es dann einfach wieder ausschalten können, wenn Sie feststellen, was für eine schlechte Idee es überhaupt war!
RiggsFolly
24

index.phpIm wwwOrdner öffnen und einstellen

$suppress_localhost = false;

Dies wird http://localhost/Ihren Projektlinks vorangestellt

Arun Unnikrishnan
quelle
1
Update: Es gibt eine neue Möglichkeit, dies zu tun. hier: stackoverflow.com/a/40846681/3125936
Ahmed Faizan
10

Um von der Homepage aus auf das Projekt zuzugreifen, müssen Sie zuerst einen virtuellen Host erstellen .

Der einfachste Weg, dies zu tun, ist die Verwendung des Dienstprogramms Add a Virtual Host von Wamp .

Befolgen Sie einfach diese Schritte:

  1. Erstellen Sie einen Ordner im Verzeichnis "C: \ wamp \ www \" und geben Sie ihm einen Namen, den Sie Ihrer Site geben möchten, z. " Mysite ". Der Pfad wäre also "C: \ wamp \ www \ mysite" .
  2. Öffnen Sie nun die Homepage von localhost in Ihrem Browser unter Extras - Menü klicken Sie auf einen virtuellen Host hinzufügen Link.
  3. Geben Sie den Namen des virtuellen Hosts , dass Name ist der Name des Ordners sein muss , die wir erstellt innerhalb www - Verzeichnis , zB ' mysite ‘.
  4. Geben Sie den absoluten Pfad des virtuellen Hosts ein, dh "C: \ wamp \ www \ mysite \" ohne Anführungszeichen, und klicken Sie auf die Schaltfläche unten mit der Aufschrift "Starten Sie die Erstellung des VirtualHost". .
  5. Virtueller Host erstellt, jetzt müssen Sie nur noch DNS neu starten . Klicken Sie dazu mit der rechten Maustaste auf das Tray-Menüsymbol des Wamp-Servers, klicken Sie auf Extras> DNS neu starten und lassen Sie das Tray-Menüsymbol wieder grün werden.
  6. Alles bereit! Erstellen Sie jetzt einfach die Seite 'index.php' im Verzeichnis "C: \ wamp \ www \ mysite \" . Fügen Sie Code in die Datei 'index.php' ein , z
    <?php echo "<h1>Hello World</h1>"; ?>

Jetzt können Sie über die Homepage des localhost auf die Projekte zugreifen. Klicken Sie einfach auf den Projektlink und Sie sehen "Hallo Welt" auf Ihrem Bildschirm.

Rakesh
quelle
1
Ich denke, dies sollte die akzeptierte Antwort sein, weil ich das gleiche Problem hatte und es funktionierte!
Nmaster88
1
Dieser ist neu und perfekt und hat für mich gearbeitet. Vielen Dank . Einige der oben genannten Antworten sind langwierig und veraltet.
Junaid
2
Dies sollte die aktuell akzeptierte Antwort vom 18.04.2017 sein. Hat perfekt für mich funktioniert.
rolo
2

So beheben Sie die defekten Symbolverknüpfungen (blank.gif, text.gif usw.)

Wie bereits erwähnt, werden die fehlerhaften Symbolverknüpfungen durch einfaches Hinzufügen eines virtuellen Hosts zu Ihrem Projekt leider nicht behoben.

Das Problem:

WAMP / Apache ändert die Verzeichnisreferenz für die Symbole nicht in Ihr jeweiliges Installationsverzeichnis. Es ist statisch auf "c: / Apache24 / icons" eingestellt und 99,9% der Benutzer, die Apache installieren, befinden sich hier nicht. Besonders mit WAMP.

Die Reparatur:

  1. Finden Sie Ihr Apache-Symbolverzeichnis! Normalerweise befindet es sich hier: "c: /wamp/bin/apache/apache2.4.9/icons". Ihr Kilometerstand kann jedoch je nach Installation variieren. Wenn sich Ihre Apache-Version unterscheidet, unterscheidet sich auch Ihr Pfad. \

  2. Öffnen Sie httpd-autoindex.conf in Ihrem Lieblingseditor. Diese Datei befindet sich normalerweise hier: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Wenn sich Ihre Apache-Version unterscheidet, gilt dies auch für diesen Pfad.

  3. Suchen Sie diese Definition (normalerweise oben in der Datei):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
  4. Ersetzen Sie die Verzeichnisse "c: / Apache24 / icons /" durch Ihre eigenen. WICHTIG Sie MÜSSEN in der ersten Verzeichnisreferenz einen nachgestellten Schrägstrich haben. Die zweite Verzeichnisreferenz darf keinen abschließenden Schrägstrich enthalten. Ihre Ergebnisse sollten ähnlich aussehen. Auch hier kann Ihr Verzeichnis abweichen:

    Alias /icons/ "c:/wamp/bin/apache/apache2.4.9/icons/"
    
    <Directory "c:/wamp/bin/apache/apache2.4.9/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
  5. Starten Sie Ihren Apache-Server neu und genießen Sie Ihre coolen Symbole!

Hypxxie
quelle
Eine bessere allgemeine Lösung ist die Änderungen Aliaszu Alias /icons/ "icons/"in den Versionen vor WAMPServer 3. In WAMPServer 3 und darüber ist die Standardeinstellung und keine Änderung erforderlich ist.
RiggsFolly
2

Sie können alle Schritte mit @RiggsFolly ausführen. Das ist eine wirklich gute Antwort. Wenn Sie keinen virtuellen Host erstellen und wie den vorherigen localhost / example / oder so etwas verwenden möchten, können Sie die Antwort von @Arunu verwenden

Wenn Sie dennoch Probleme haben, verwenden Sie bitte diese Methode.

  1. Suchen Sie Ihren Wamp-Ordner (z. B. c: / Wamp /), in dem Sie installiert haben
  2. Gehe zu Wamp / www /
  3. Öffnen Sie die Datei index.php
  4. Finde diesen Code $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. Ändern Sie es und fügen Sie localhost nach http: // hinzu $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Starten Sie den Wamp-Server neu
  7. open localhost siehe die aktualisierten Links

Ich hoffe, Sie haben Ihre URL wie die vorherige Version des Wamp-Servers erhalten.

Khadka Pushpendra
quelle
Könnten Sie bitte vorschlagen, dass wir es für xampp tun? Ich habe alle Möglichkeiten ausprobiert, trotzdem leitet meine Website zur xampp-Homepage weiter
Sushivam
1
$suppress_localhost = false;

Das hat den Trick für mich getan.

Valtec
quelle
1

Dies funktioniert auf Wamp 3+.

  • Gehe zum Wamp-Ordner (wamp / oder wamp64 /)
  • Öffnen Sie die Datei wampmanager.conf
  • Suchen Sie den Parameter urlAddLocalhost und setzen Sie ihn auf: urlAddLocalhost = "on"

Es sollte nicht notwendig sein, die index.php im Ordner www zu optimieren.

Arnaud Leyder
quelle
0

Betreff: Wampserver LocalHost-Links funktionieren nicht richtig
Dies ist ab Juni 2014 mit Wampserver2.5 (möglicherweise wird dies in späteren Builds behoben).
Hinweis: Um LocalHost: 8080 anstelle von LocalHost zu verwenden, nehmen Sie einfach die entsprechenden Änderungen an den unten genannten Änderungen vor.

Es gibt zwei Aspekte dieses Problems:
Der erste besteht darin, auf der Homepage von Wamp localhost auf Elemente unter "Ihre Projekte" zugreifen zu können.
Die zweite Möglichkeit besteht darin, korrekt auf Elemente zugreifen zu können, die in der Liste "Meine Projekte" der Wampserver-Symbol-Taskleiste aufgeführt sind.

Um das erste Problem zu beheben (um auf der Wamp localhost-Homepage unter "Ihre Projekte" auf Elemente zugreifen zu können), müssen Sie Folgendes tun ...

Es gibt 2 Änderungen , die Sie in der Datei index.php in Ihrem Ordner wamp \ www vornehmen müssen (normalerweise C: \ wamp \ www).

1) in Zeile 30 ändern

  $suppress_localhost = true;

zu

  $suppress_localhost = false;

2) in Zeile 338 ändern

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';

zu

  $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : 'http://localhost//').$file.'">'.$file.'</a></li>';

Nachdem Sie die oben genannten Änderungen vorgenommen haben - wenn der Wampserver ausgeführt wird, aktualisieren Sie einfach die lokale Hostseite und die Änderungen werden sofort wirksam.

So beheben Sie das zweite Problem (die Liste "Meine Projekte" der Wampserver-Symbol-Taskleiste): Sie müssen C: \ wamp \ scripts \ refresh.php bearbeiten

Suchen Sie die Zeile 651 und ändern Sie den Abschnitt der Zeile, der lautet

   Parameters: "http://'.$projectContents[$i].'/"; Glyph: 5

zu

   Parameters: "http://localhost//'.$projectContents[$i].'/"; Glyph: 5

Nachdem Sie diese zweiten Änderungen vorgenommen haben, müssen Sie Wampserver möglicherweise zwingen, die Liste "Meine Projekte" zu aktualisieren, indem Sie die Option "Online / Offline stellen" unten in der Wamp Icon Tray-App aktivieren.

TheSteven
quelle
Super Kerl, endlich etwas, das funktioniert! (für das Umrunden von iis Jacking Port 80, damit eine Site von der Wamp Localhost-Seite aus funktioniert)
Cammy
-1
  1. Überprüfen Sie, ob das Wamp-Server-Symbol grün ist oder nicht. Wenn es grün ist, funktioniert es. Wenn nicht, müssen Sie die folgenden Schritte ausführen

    ein. Alle Programme sollten vor dem Ausführen des Wamps geschlossen werden, da in den meisten Fällen einige Softwareprogramme wie Skype denselben Port (80) verwenden, der von Wamp verwendet wird.

    b. Sie können den Skype-Port ändern: Tool-s-> oprions-> advanced-> connection, um Port 80 zu deaktivieren

  2. Starten Sie den Wamp neu, es wird funktionieren.

ZWEITER Fall

  1. Wenn Sie in loalhost auf das Projekt klicken, wird der lokale Host nicht vor dem Projektnamen angezeigt. Aus diesem Grund sieht es so aus, als ob wamp nicht funktioniert. Dann müssen Sie nur eines tun

    . Gehen Sie zur Datei wamp index.php und ändern Sie $ unterdrücken_localhost = false; von $ suppr__localhost = true; oder versuchen Sie es umgekehrt

Raman Verma
quelle
-1

Navigieren Sie zu Ihrem WWW-Verzeichnis (wenn Sie den Wamp-Server verwenden) htdocs (wenn Sie XAMPP verwenden). Öffnen Sie Ihre admin.php und suchen Sie nach Projektinhalten / oder gehen Sie direkt zu Zeile 339 und ändern Sie den Link, indem Sie den lokalen Host in den Link einfügen.

Das sollte funktionieren ,,

Samoei
quelle
-1

Ich finde es viel einfacher (als akzeptierte Antwort), eine lokale Subdomain pro Projekt zu erstellen und Apache anzuweisen, mehrere Sites nach Namen zu bedienen.

Angenommen, Sie haben ein Projekt unter erstellt. Um unter http: //mysite.localhostc:/wamp64/www/sites/mysite darauf zugreifen zu können, müssen Sie lediglich Folgendes tun:

Lassen Sie Ihre Maschine 1 auf verschiedene Namen zu antworten hinzufügen 127.0.0.1 mysite.localhostzuC:\windows\system32\drivers\etc\hosts

2. Leeren Sie Ihren DNS-Cache. Öffnen Sie eine Eingabeaufforderung als Administrator und geben Sie net stop dnscachedann ein net start dnscache.

3. Sagen Sie Apache, wo er suchen soll. Klicken Sie auf das Wamp-Symbol in der Taskleiste, gehen Sie zu Apache -> httpd.conf und fügen Sie dies am Ende hinzu:

# Tells Apache to identify which site by name
NameVirtualHost *:80
# Tells Apache to serve the default WAMP Server page to "localhost"
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "C:/wamp/www"
</VirtualHost> 
# Tells Apache to serve Client 1's pages to "client1.localhost"
# Duplicate and modify this block to add another client
<VirtualHost 127.0.0.1>
# The name to respond to
ServerName client1.localhost
# Folder where the files live
DocumentRoot "C:/wamp64/www/sites/mysite"
# A few helpful settings...
<Directory "C:/wamp64/www/sites/mysite">
allow from all
order allow,deny
# Enables .htaccess files for this site
AllowOverride All
</Directory>
# Apache will look for these two files, in this order, if no file is specified in the URL
DirectoryIndex index.html index.php
</VirtualHost> 

( Quelle )

4. Starten Sie Apache neu neu starten Klicken Sie auf das Wamp-Symbol in der Taskleiste und wählen Sie "Neustart".

5. Definieren Sie eine Basis-URL. Gehen Sie zu Ihrem Projektordner und fügen Sie ihn <base href="http://mysite.localhost" />zu Ihrem hinzu<head> Abschnitt hinzu, um zu verhindern, dass / Links zum Server-Stamm beschädigt werden.

Persönlich füge ich diesen HTML-Code mithilfe von PHP (so etwas $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;) dynamisch in meine Vorlage ein, damit ich ihn nicht einmal in der Produktion entfernen muss.

Sonne
quelle
-3

Hallo, Sie müssen die Datei index.php vom Wamp-Server aus öffnen und $ unterdrücken_localhost = false ändern. von $ suppr_localhost = true; dann wird dein Wamp gut funktionieren

Raman Verma
quelle
2
Es gibt viele Antworten, die genau dies sagen.
Vael Victus
1
Dann hast du nichts beigetragen.
Vael Victus