I collegamenti al progetto non funzionano su Wamp Server


88

Sto installando il server Wamp su un altro computer per eseguire un database e un'interfaccia utente di medie dimensioni. Sono riuscito a bloccare IIS e instradare il server a Localhost: 8080. Ma ogni volta che provo ad accedere a uno dei miei progetti dalla homepage di localhost, nel file www; Vengo reindirizzato a un errore Pagina non trovata.

Quando passo il mouse sopra i collegamenti, viene sempre visualizzata la directory "http: // ProjectFolderNameHere /". quando dovrebbe essere "http: // LocalHost: 8080 / ProjectFolderNameHere /". Cosa posso fare per far funzionare correttamente i collegamenti?

La mia macchina funziona su Windows 7 Home Edition a 64 bit e ho già disabilitato IIS di Microsoft.


Puoi accedere a localhost: 8080 / index.html (supponendo che tu ne abbia uno)? Dove sono memorizzati i link che mostrano quegli URL non funzionanti? Chi li ha scritti? Sembra che quei link siano scritti male.
Patrick

No, ma ho provato a collegarmi a uno dei miei file, tutto impostato qui grazie!
user3638431

Se hai trovato una soluzione, rispondi alla tua domanda per riferimento futuro :)
Patrick

Ok Quindi quello che ho fatto è stato seguire il consiglio di Patrick, ma invece ho digitato localhost: 8080 / ProjectFilename e finalmente ho avuto accesso al mio progetto. Il mio problema rimane ancora, ma ho trovato un modo per aggirarlo.
user3638431

Beh, credo che i tuoi link (quelli su cui fai clic) siano scritti in modo sbagliato. Se potessi fare più luce su come si arriva a quei link, dove sono scritti prima di "fare clic" su di essi, potrei aiutarti ulteriormente
Patrick

Risposte:


161

Come creare un host virtuale in WampServer


WAMPServer 3 ha reso questo processo molto più semplice!

Puoi fare quasi tutto da un'utilità fornita come parte di WAMPServer.

  • Crea una cartella all'interno per contenere il tuo project.site. Questo può essere nella C:\wamp\www\directory o in una cartella completamente separata come C:\websites.

  • Crea una cartella all'interno della posizione che hai scelto EG C:\websites\project1\wwwo sotto il filec:\wamp\www\project1\www

  • Ora apri localhost wampmanager->localhoste fai clic sul collegamento Add a Virtual Hostnella sezione STRUMENTI sulla home page.

Vedrai una pagina come questa:

inserisci qui la descrizione dell'immagine

  • Compila i campi come specificato dalle istruzioni sopra ogni campo

  • La configurazione dell'host virtuale sarà stata creata per te.

  • Ora devi riavviare la cache DNS. Puoi farlo dai menu di wampmanager come questo right click wampmanager->Tools->Restart DNS. La cache DNS verrà riavviata e quindi anche Apache verrà arrestato e riavviato. Quando l'icona di wampmanager diventa di nuovo verde, tutto è completato.

  • Ora devi creare un semplice index.phpfile o installare il tuo sito nella cartella che hai creato sopra.

  • Supponendo che il tuo VH sia stato chiamato, project.devdovresti vedere quel nome nella sezione I tuoi host virtuali della home page di WAMPServer.

  • È possibile avviare il sito da questo menu o semplicemente utilizzare il nuovo nome di dominio nella barra degli indirizzi EG project1.deve il sito dovrebbe essere avviato.


Vecchio meccanismo WAMPServer 2.5, o se vuoi farlo tutto manualmente

C'è stato un cambiamento di concetto in WampServer 2.5 e versioni successive e c'è una buona ragione per questo cambiamento!

In WampServer è ora FORTEMENTE incoraggiato a creare un host virtuale per ciascuno dei tuoi progetti, anche se li tieni in una \wamp\www\subfolderstruttura.

Documentazione sugli host virtuali

Esempi di host virtuali

La home page di WampServer ( \wamp\www\index.php) ora si aspetta che tu abbia creato un host virtuale per tutti i tuoi progetti e quindi funzionerà correttamente solo se lo fai.

Storia

Per rendere la vita più facile ai principianti che utilizzano WampServer per imparare PHP Apache e MySQL, è stato suggerito di creare sottocartelle sotto la \wamp\www\cartella.

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

Queste sottocartelle verrebbero quindi visualizzate come collegamenti nella home page di WampServer in un menu chiamato "I tuoi progetti" e questi collegamenti conterrebbero un collegamento a localhost/subfoldername.

Accettabile solo per semplici tutorial

Ciò ha reso la vita facile per il principiante assoluto ed era perfettamente accettabile, ad esempio, per coloro che seguivano i tutorial per imparare la codifica PHP. Tuttavia, non è mai stato concepito per essere utilizzato durante lo sviluppo di un vero sito Web che successivamente si desidera copiare sul server live ospitato. In effetti, se si utilizzava questo meccanismo, spesso si creavano problemi poiché la configurazione dei siti live non corrispondeva alla configurazione di sviluppo.

Il problema per lo sviluppo di un sito web reale.

La ragione di ciò è ovviamente che l'impostazione predefinita di DocumentRoot per wamp è

DocumentRoot "c:/wamp/www/"

indipendentemente da come è stata chiamata la tua sottocartella. Questo fatto che spesso utilizzava il codice PHP che interrogava la struttura o il tuo sito ha ricevuto informazioni diverse durante l'esecuzione sul tuo WampServer di sviluppo rispetto a quello che riceverebbe durante l'esecuzione su un server ospitato dal vivo, dove la configurazione di DocumentRoot punta alla cartella nella parte superiore del sito web gerarchia dei file. Questo tipo di codice esiste in molti framework e CMS, ad esempio WordPress e Joomla, ecc.

Per esempio

Diciamo che abbiamo un progetto chiamato project1 trattenuto wamp\www\project1ed eseguito in modo errato comelocalhost/project1/index.php

Questo è quanto verrebbe riportato da alcuni dei comandi PHP in questione:

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

Ora, se avessimo definito correttamente quel sito utilizzando una definizione di host virtuale e http://project1lo avessimo eseguito poiché i risultati sul sito di sviluppo di WAMPServer corrisponderanno a quelli ricevuti su un ambiente ospitato dal vivo.

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

All'inizio questa differenza può sembrare banale, ma se dovessi utilizzare un framework come WordPress o uno dei CMS come Joomla, ad esempio, questo può causare problemi quando sposti il ​​tuo sito su un server live.

Come creare un host virtuale in WampServer

In realtà questo dovrebbe funzionare fondamentalmente allo stesso modo per qualsiasi server Apache di Windows, con differenze solo nel punto in cui potresti trovare i file di configurazione di Apache.

Ci sono 3 passaggi per creare il tuo primo host virtuale in Apache e solo 2 se ne hai già uno definito.

  1. Creare le definizioni dell'host virtuale
  2. Aggiungi il tuo nuovo nome di dominio al file HOSTS.
  3. Rimuovere il commento dalla riga in httpd.conf che include il file di definizione degli host virtuali.

Passaggio 1 , creare le definizioni dell'host virtuale

Modifica il file chiamato in httpd-hosts.confcui risiede WampServer

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

(I numeri di versione di Apache possono differire, attiva il cervello prima di continuare)

Se è la prima volta che modifichi questo file, rimuovi il codice di esempio predefinito, è inutile.

Presumo che vogliamo creare una definizione per un sito chiamato project1 che vive

\wamp\www\project1

Molto importante, prima dobbiamo assicurarci che localhost funzioni ancora in modo che sia la prima definizione VHOST che inseriremo in questo file.

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

Ora definiamo il nostro progetto: e questo ovviamente lo fai per ciascuno dei tuoi progetti quando ne inizi uno nuovo.

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

NOTA: che ogni host virtuale sia il proprio DocumentRootdefinito. Ci sono anche molti altri parametri che puoi aggiungere a una definizione di host virtuali, controlla la documentazione di Apache.

Piccolo a parte

Il modo in cui gli host virtuali funzionano in Apache: la prima definizione in questo file sarà anche il sito predefinito, quindi se il nome di dominio utilizzato nel browser non corrisponde a nessun dominio ospitato virtualmente effettivamente definito, rendendo localhost il primo dominio nel file è il sito che viene caricato se un tentativo di hacking utilizza solo il tuo indirizzo IP. Quindi, se ci assicuriamo che la sicurezza di Apache per questo dominio sia SEMPRE IMPOSTATA SU

Require local

qualsiasi hack casuale da un indirizzo esterno riceverà un errore e non entrerà nel tuo PC, ma in caso di errore di ortografia un dominio ti verrà mostrata la homepage di WampServer, perché sei sullo stesso PC di WampServer e quindi local.

Passaggio 2 :

Aggiungi il tuo nuovo nome di dominio al file HOSTS. Ora dobbiamo aggiungere il nome di dominio che abbiamo utilizzato nella definizione dell'host virtuale al file HOSTS in modo che Windows sappia dove trovarlo. Questo è simile alla creazione di un record DNS A, ma in questo caso è visibile solo su questo PC specifico.

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

Il file non ha estensione e dovrebbe rimanere tale. Fai attenzione al blocco note, poiché potrebbe provare ad aggiungere .txtun'estensione se non hai un editor migliore. Ti suggerisco di scaricare Notepad ++, è gratuito e un ottimo editor.

Anche questo è un file protetto, quindi devi modificarlo con i privilegi di amministratore, quindi avvia l'editor utilizzando l' opzione di menu Esegui come amministratore .

Il file hosts dovrebbe avere questo aspetto una volta completate queste modifiche

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Nota che dovresti avere le definizioni qui per l'indirizzo di loopback IPV4 127.0.0.1e anche l'indirizzo di loopback IPV6 ::1poiché Apache ora è a conoscenza di IPV6 e il browser utilizzerà IPV4 o IPV6 o entrambi. Non ho idea di come decida quale utilizzare, ma può essere utilizzato se hai lo stack IPV6 attivato e la maggior parte dei sistemi operativi Windows funziona a partire da XP SP3.

Ora dobbiamo dire a Windows di aggiornare la cache del nome di dominio, quindi avvia di nuovo una finestra di comando utilizzando nuovamente l' opzione di menu Esegui come amministratore e procedi come segue.

net stop dnscache
net start dnscache

Ciò costringe Windows a svuotare la cache del nome di dominio e ricaricarlo, ricaricandolo rileggerà il file HOSTS, quindi ora conosce il dominio project1.

Passaggio 3 : rimuovere il commento dalla riga in httpd.conf che include il file di definizione degli host virtuali.

Modifica il tuo httpd.conf, usa i menu wampmanager.exe per assicurarti di modificare il file corretto.

Trova questa riga in httpd.conf

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

E basta rimuovere il #per rimuovere il commento da quella riga.

Per attivare questa modifica in te che esegui Apache dobbiamo ora arrestare e riavviare il servizio Apache.

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

Ora se l'icona WAMP nella barra delle applicazioni non diventa di nuovo VERDE, significa che probabilmente hai fatto qualcosa di sbagliato nel \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conffile.

Se è così, ecco un meccanismo utile per scoprire cosa c'è che non va. Utilizza una funzionalità di Apache exe (httpd.exe) per controllare i suoi file di configurazione e segnalare gli errori per nome file e numeri di riga.

Avvia una finestra di comando.

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

Quindi correggi gli errori e riprova finché non ottieni l'output

Syntax OK

Adesso c'è un'altra cosa.

In realtà ci sono 2 nuove voci di menu nel sistema di menu di wampmanager. Uno chiamato "I miei progetti" che è attivato per impostazione predefinita. E un secondo, chiamato "My Virtual Hosts" , che non è attivato di default.

"I miei progetti" elencherà qualsiasi sottodirectory della directory \ wamp \ www e fornirà un collegamento per avviare il sito in quella sottodirectory. Come ho detto prima, avvia 'project1` e non' localhost / project1 ', quindi per far funzionare il collegamento dobbiamo creare una definizione di host virtuale per fare in modo che questo collegamento avvii effettivamente quel sito nel tuo browser, senza la definizione di host virtuale è probabile che lo faccia avviare una ricerca sul Web per il nome del sito come parola chiave o semplicemente restituire una condizione di sito non trovato.

La voce di menu "I miei host virtuali" è leggermente diversa. Cerca il file utilizzato per definire gli host virtuali (ci arriveremo tra un minuto) e crea collegamenti a menu per ogni parametro ServerName che trova e crea una voce di menu per ciascuno. Questo può sembrare un po 'confuso poiché una volta creata una definizione di host virtuale per le sottodirectory della cartella \ wamp \ www, alcuni elementi appariranno sia nel menu "I miei progetti" che nel menu "I miei host virtuali".

Come si attiva questo altro menu "I miei host virtuali"?

  • Fai un backup del file \ wamp \ wampmanager.tpl, nel caso in cui commetti un errore, è un file molto importante.
  • Modifica il file \ wamp \ wampmanager.tpl
  • Trova questo parametro ;WAMPPROJECTSUBMENU, si trova nella sezione "[Menu.Left]".
  • Aggiungi questo nuovo parametro ;WAMPVHOSTSUBMENUprima o dopo il ;WAMPPROJECTSUBMENUparametro.
  • Salva il file.
  • Ora fai clic con il pulsante destro del mouse sull'icona di wampmanager e seleziona "Aggiorna". Se questo non aggiunge il menu, "esci" e riavvia wampmanager.

Nota importante Il nuovo menu apparirà solo se hai già definito alcuni host virtuali! Altrimenti non vedrai alcuna differenza fino a quando non definirai un VHOST.

Ora, se lo porti alla sua estensione logica

È ora possibile spostare il codice del sito Web completamente fuori dalla \wamp\struttura delle cartelle semplicemente modificando il parametro DocumentRoot nella definizione VHOST. Quindi per esempio potresti fare questo:

Crea una cartella sul disco wamp o qualsiasi altro disco (attenzione alle unità di rete, sono un po 'più complicate)

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

Ora copia il codice del tuo sito o inizia a crearlo nella \websites\example.com\wwwcartella e definisci il tuo VHOST in questo modo:

<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>

Quindi aggiungi questo nuovo dominio di sviluppo al file HOSTS:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

NOTA: non è una buona idea usare un ServerName o ServerAlias ​​che è lo stesso del tuo nome di dominio live, come se avessimo usato example.com come ServerName significherebbe che non potremmo più raggiungere il vero sito live da questo PC poiché indirizzerebbe example.com a 127.0.0.1, cioè questo PC e non su Internet.

INOLTRE: vedi che ho consentito l'accesso a questo sito da Internet dall'interno delle definizioni VHOST, questa modifica si applicherà solo a questo sito e nessun altro. Molto utile per consentire a un client di visualizzare le modifiche per circa un'ora senza doverle copiare sul server live. Ciò significa che dobbiamo modificare questo file manualmente per attivare e disattivare questo accesso piuttosto che utilizzare la voce di menu Metti in linea / non in linea su wampmanager.

Inoltre ho aggiunto alcune modifiche alla configurazione PHP, ancora una volta che si applicheranno solo a questo sito. Molto utile quando si mantiene un sito con requisiti specifici a differenza di tutti gli altri siti gestiti. Immagino che possiamo presumere dai parametri utilizzati che ha una pagina a lungo in esecuzione da qualche parte ed è scritta molto male e non funzionerà con errori visualizzati sul browser senza creare un orribile pasticcio della pagina. Credimi, esistono siti come questo e le persone vogliono ancora che vengano mantenuti male . Ma questo significa che dobbiamo solo modificare questi parametri per questo sito specifico e non a livello globale per tutti i siti virtuali in esecuzione su WampServer.


Estremamente utile. Questa dovrebbe essere davvero la risposta accettata. Molto istruttivo e, se seguito correttamente, ti renderà operativo in circa 10 minuti. Ottimo consiglio. Un punto veloce però. Ho ricevuto un .htaccess: errore di comando "RewriteEngine" non valido. Ho dovuto spuntare rewrite_module nel menu Moduli Apache. Qualcuno potrebbe rispondere perché ho dovuto farlo?
Chris

1
Il rewrite_module di @Chris Apache è il codice che fornisce effettivamente il motore di riscrittura. Senza di esso Apache non sa come riscrivere gli URL. Fondamentalmente non fa parte del nucleo di Apache ma un addon per mancanza di una descrizione migliore
RiggsFolly

"Modifica il file chiamato httpd-hosts.conf che per WampServer risiede in \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf" Nella mia nuova installazione di wampserver 2.5, questo file non esiste. Se intendevi httpd-vhosts.conf, correggilo.
bcsteeve

2
@ starleaf1 Desideri sia il nostro comando! Esegui localhost/add_vhost.phpsu WAMPServer 3, controlla questo post sul forum di
WAMPServers

1
Parla di spiegazioni approfondite! +1 per quello right click wampmanager -> Tools -> Restart DNSche ha funzionato dopo aver aggiunto un nuovo host virtuale e non aver capito perché non funzionava ancora.
Paesano2000

74

Credo che questa sia la soluzione migliore:

Apri index.php nella cartella www e imposta

cambiare linea 30:$suppress_localhost = true;

per $suppress_localhost = false;

Ciò garantirà che il progetto abbia il prefisso con il nome / IP dell'host locale


1
Grazie! problema risolto ma le icone / immagini del percorso / icone non mostrano blank.git, back.gif, folder.gif non sono state trovate qualche soluzione anche per questo?
Shubham Badal

3
Sì, crea un host virtuale per ogni sito, vedi la risposta sopra per come.
RiggsFolly

1
C'è ora (WAMPSERVER 3) una semplice opzione di menu su wampmanager per farlo se davvero non capisci quale sia una cattiva idea. right click wampmanager->Wamp Settings->Add localhost to urlL'unica cosa buona di questo è che puoi spegnerlo di nuovo facilmente quando ti rendi conto di quanto fosse una cattiva idea in primo luogo!
RiggsFolly


11

Per accedere al progetto dalla homepage è necessario prima creare un host virtuale .

Il modo più semplice per farlo è usare Add a Virtual Host Utility di Wamp .

Segui questi passaggi:

  1. Crea una cartella all'interno della directory "C: \ wamp \ www \" e dagli un nome che vuoi dare al tuo sito, ad esempio. " mysite ". Quindi il percorso sarebbe "C: \ wamp \ www \ mysite" .
  2. Ora apri la home page di localhost nel tuo browser, nel menu Strumenti fai clic sul collegamento Aggiungi un host virtuale .
  3. Inserisci il nome dell'host virtuale , quel nome deve essere il nome della cartella che abbiamo creato all'interno della directory www, cioè " miosito ".
  4. Immettere il percorso assoluto dell'host virtuale, ad esempio "C: \ wamp \ www \ mysite \" senza virgolette e fare clic sul pulsante sottostante dicendo "Avvia la creazione di VirtualHost" .
  5. Host virtuale creato, ora devi solo "Riavvia DNS" . Per farlo, fai clic con il pulsante destro del mouse sull'icona del menu del vassoio del server wamp, fai clic su Strumenti> Riavvia DNS e lascia che l'icona del menu del vassoio diventi di nuovo verde.
  6. Tutto stabilito! Ora crea semplicemente la pagina "index.php" all'interno della directory "C: \ wamp \ www \ mysite \" . Aggiungi del codice nel file 'index.php' , come
    <?php echo "<h1>Hello World</h1>"; ?>

Ora puoi accedere ai progetti dalla homepage del localhost. Basta fare clic sul collegamento del progetto e vedrai "Hello World" stampato sullo schermo.


1
Penso che questo dovrebbe essere il tenditore accettato perché ho avuto lo stesso problema e ha funzionato!
Nmaster88,

1
questo è l'ultimo e perfetto e ha funzionato per me. Grazie . alcune delle risposte precedenti sono lunghe e obsolete.
Junaid

2
Questa dovrebbe essere la risposta attualmente accettata al 18/04/2017. Ha funzionato perfettamente per me.
rolo

questo ha funzionato, tuttavia l'host virtuale per una delle cartelle del progetto che ho creato, ad esempio esempio, non ha cambiato l'esempio sotto l'intestazione "I tuoi progetti" come collegamento .. perché è questo?
Krys

Se qualcuno ha problemi con le cartelle del progetto che non passano dal testo nero ai collegamenti http, ho seguito questo modo rapido per abilitarlo: apri index.php da wamp / www /, copia la stringa sulla riga 152: <li> <a href = "'. str_replace ('. conf ',' ', $ file).' /"> '. str_replace ('. conf ',' ', $ file).' </a> </li> e sostituisci stringa <li>. $ file. </li> sulla linea 359. e presto!
Krys

2

Come correggere i collegamenti delle icone interrotti (blank.gif, text.gif, ecc.)

Sfortunatamente, come accennato in precedenza, la semplice aggiunta di un host virtuale al tuo progetto non risolve i collegamenti delle icone interrotti.

Il problema:

WAMP / Apache non modifica il riferimento alla directory per le icone nella rispettiva directory di installazione. È staticamente impostato su "c: / Apache24 / icons" e il 99,9% dell'installazione di Apache degli utenti non risiede qui. Soprattutto con WAMP.

La correzione:

  1. Trova la directory delle icone di Apache! Di solito si trova qui: "c: /wamp/bin/apache/apache2.4.9/icons". Tuttavia il tuo chilometraggio può variare a seconda della tua installazione e se la tua versione di Apache è diversa, anche il tuo percorso sarà diverso. \

  2. Apri httpd-autoindex.conf nel tuo editor preferito. Questo file di solito si trova qui: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Di nuovo, se la tua versione di Apache è diversa, lo sarà anche questo percorso.

  3. Trova questa definizione (di solito situata nella parte superiore del file):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. Sostituisci le directory "c: / Apache24 / icons /" con le tue. IMPORTANTE È NECESSARIO avere una barra in avanti nel primo riferimento alla directory. Il secondo riferimento alla directory non deve avere una barra finale. I risultati dovrebbero essere simili a questo. Anche in questo caso, la tua directory potrebbe essere diversa:

    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. Riavvia il tuo server Apache e goditi le tue fantastiche icone!


Una soluzione migliore e più generale consiste nel modificare il Aliasin Alias /icons/ "icons/"nelle versioni precedenti a WAMPServer 3. In WAMPServer 3 e versioni successive questa è l'impostazione predefinita e non è richiesta alcuna modifica.
RiggsFolly

2

Puoi seguire tutti i passaggi di @RiggsFolly questa è davvero una buona risposta, se non vuoi creare un host virtuale e vuoi usare come il precedente localhost / esempio / o qualcosa del genere puoi usare la risposta di @Arunu

Ma se hai ancora problemi, usa questo metodo,

  1. Individua la tua cartella wamp (es. C: / Wamp /) in cui hai installato
  2. Vai a Wamp / www /
  3. Apri il file index.php
  4. trova questo codice $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. modificalo aggiungi localhost dopo http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Riavvia il server wamp
  7. apri localhost vedi i link aggiornati

Spero che tu abbia il tuo URL come la versione precedente del server wamp.


Potresti suggerire su zappa che lo facciamo per xampp. ho provato in tutti i modi, ma il mio sito reindirizza alla homepage di xampp
Sushivam

1
$suppress_localhost = false;

Questo ha funzionato per me.


1

Funziona su Wamp 3+.

  • Vai alla cartella wamp (wamp / o wamp64 /)
  • Apri wampmanager.conf
  • Trova il parametro urlAddLocalhost e impostalo su: urlAddLocalhost = "on"

Non dovrebbe essere necessario modificare il file index.php nella cartella www.



0

Ri: I collegamenti Wampserver LocalHost non funzionano correttamente
Questo è a giugno 2014 con Wampserver2.5 (forse lo risolveranno nelle build successive).
Nota: per utilizzare LocalHost: 8080 invece di LocalHost basta apportare le modifiche appropriate nelle modifiche indicate di seguito.

Ci sono 2 aspetti di questo problema:
il primo è poter accedere agli elementi in "I tuoi progetti" dalla home page del localhost di Wamp.
Il secondo è poter accedere correttamente agli elementi elencati nella lista "I miei progetti" della barra delle applicazioni di Wampserver Icon.

Per risolvere il primo (per poter accedere agli elementi in "I tuoi progetti" dalla homepage di localhost di Wamp) dovrai fare quanto segue ...

Ci sono 2 modifiche che devi apportare nel file index.php che si trova nella tua cartella wamp \ www (di solito C: \ wamp \ www)

1) sulla linea 30 cambia

  $suppress_localhost = true;

per

  $suppress_localhost = false;

2) sulla linea 338 cambia

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

per

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

Dopo aver apportato le modifiche precedenti, se il server Wamp è in esecuzione, aggiorna la pagina dell'host locale e le modifiche diventano immediatamente effettive.

Per correggere il secondo elemento (l'elenco "I miei progetti" della barra delle applicazioni dell'icona di Wampserver): È necessario modificare C: \ wamp \ scripts \ refresh.php

Individuare la riga 651 e modificare la sezione della riga che legge

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

per

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

Dopo aver apportato questa seconda serie di modifiche, potrebbe essere necessario forzare Wampserver ad aggiornare l'elenco "I miei progetti" attivando l'opzione Metti in linea / non in linea nella parte inferiore dell'app Wamp Icon Tray.


Tizio fantastico, finalmente qualcosa che funziona! (per aver aggirato iis jacking port 80 facendo funzionare un sito dalla pagina localhost di wamp)
Cammy

-1
  1. controlla che l'icona del server wamp sia verde o meno se è verde allora funziona altrimenti devi seguire questi passaggi per farlo

    un. tutti i programmi dovrebbero essere chiusi prima di eseguire il wamp perché la maggior parte dei casi alcuni software come skype accettano la stessa porta (80) che utilizza wamp.

    b. puoi cambiare la porta di skype: Tool-s-> oprions-> advanced-> connection deseleziona usa la porta 80

  2. riavviare il wamp funzionerà.

SECONDO caso

  1. quando fai clic sul progetto in loalhost non mostra l'host locale davanti al nome del progetto e per questo sembra che wamp non funzioni, devi solo una cosa

    . vai al file wamp index.php e cambia $ suppress_localhost = false; da $ suppress_localhost = true; o prova viceversa funzionerà


-1

Vai alla tua directory www (se stai usando il server wamp) htdocs (se su XAMPP). Apri il tuo admin.php e cerca nei contenuti del progetto / o vai direttamente alla riga 339 e cambia il collegamento, inserendo l'host locale nel collegamento.

Dovrebbe funzionare


-1

Trovo che sia molto più facile (rispetto alla risposta accettata) creare un sottodominio locale per progetto e dire ad Apache di servire più siti per nome.

Ad esempio, supponiamo che tu abbia creato un progetto sotto c:/wamp64/www/sites/mysite, per poterlo accedere a http: //mysite.localhost devi semplicemente fare quanto segue:

1. Dite alla vostra macchina di rispondere a nomi diversi Aggiungi 127.0.0.1 mysite.localhostaC:\windows\system32\drivers\etc\hosts

2. Svuota la cache DNS Apri un prompt dei comandi come amministratore e digita net stop dnscache, quindi net start dnscache.

3. Di 'ad Apache dove cercare Fai clic sull'icona di Wamp nel vassoio, vai su Apache -> httpd.conf e aggiungi questo alla fine:

# 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> 

( fonte )

4. Riavvia Apache Fai clic sull'icona di Wamp nel vassoio, seleziona "riavvia"

5. Definisci un URL di base Vai alla cartella del tuo progetto, aggiungi <base href="http://mysite.localhost" />alla tua <head>sezione per evitare che / links alla radice del server vengano interrotti.

Personalmente, inserisco dinamicamente questo codice html nel mio modello usando PHP (qualcosa di simile $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;), quindi non devo preoccuparmi di rimuoverlo una volta in produzione.


-3

Ciao, devi aprire index.php dal server wamp e cambiare $ suppress_localhost = false; da $ suppress_localhost = true; allora il tuo wamp funzionerà bene


2
Ci sono molte risposte che dicono esattamente questo.
Vael Victus

1
Allora non hai contribuito con niente.
Vael Victus
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.