Links de projeto não funcionam no servidor Wamp

88

Estou instalando o servidor Wamp em outro computador para executar um banco de dados e interface de usuário de médio porte. Obtive êxito no bloqueio do IIS e no roteamento do servidor para Localhost: 8080. Mas sempre que tento acessar um dos meus projetos da homepage do localhost, no arquivo www; Sou redirecionado para um erro de página não encontrada.

Quando passo o mouse sobre os links, o diretório sempre aparece "http: // ProjectFolderNameHere /". quando deveria ser "http: // LocalHost: 8080 / ProjectFolderNameHere /". O que posso fazer para que os links funcionem corretamente?

Minha máquina funciona no Windows 7 Home Edition de 64 bits e eu já desabilitei o IIS da Microsoft.

user3638431
fonte
Você pode acessar localhost: 8080 / index.html (supondo que você tenha um)? Onde estão armazenados os links que mostram essas URLs quebradas? Quem os escreveu? Parece que esses links estão mal escritos.
Patrick
Não, mas tentei conectar em um dos meus arquivos, tudo configurado aqui obrigado!
user3638431
Se você encontrou uma solução, responda sua própria pergunta para referência futura :)
Patrick
Ok. Então, o que fiz foi seguir o conselho de Patrick, mas em vez disso digitei localhost: 8080 / ProjectFilename e finalmente consegui acesso ao meu projeto. Meu problema ainda permanece, mas encontrei uma maneira de contorná-lo.
user3638431
Bem, eu acredito que seus links (aqueles em que você clica) estão escritos incorretamente. Se você pudesse lançar mais luz sobre como você chega a esses links, onde eles estão escritos antes de 'clicar' neles, eu poderia ajudar mais
Patrick

Respostas:

160

Como criar um Host Virtual no WampServer


O WAMPServer 3 tornou esse processo muito mais fácil!

Você pode fazer quase tudo em um utilitário fornecido como parte do WAMPServer.

  • Crie uma pasta dentro para conter seu project.site. Isso pode estar no C:\wamp\www\diretório ou em uma pasta completamente separada como C:\websites.

  • Crie uma pasta dentro do local que você escolheu EG C:\websites\project1\wwwou sob oc:\wamp\www\project1\www

  • Agora abra o localhost wampmanager->localhoste clique no link Add a Virtual Hostna seção FERRAMENTAS na página inicial.

Você verá uma página como esta:

insira a descrição da imagem aqui

  • Preencha os campos conforme especificado nas instruções acima de cada campo

  • A configuração do Host Virtual terá sido criada para você.

  • Agora você deve reiniciar o Cache DNS. Você pode fazer isso nos menus do gerenciador de wamp como este right click wampmanager->Tools->Restart DNS. O Cache DNS será reiniciado e o Apache também será interrompido e reiniciado. Quando o ícone do gerenciador de wamp ficar verde novamente, tudo estará concluído.

  • Agora você deve criar um index.phparquivo simples ou instalar seu site na pasta que você criou acima.

  • Supondo que seu VH foi chamado, project.devvocê deve ver esse nome na seção Seus hosts virtuais da página inicial do WAMPServer.

  • Você pode iniciar o site a partir deste menu, ou apenas usar o novo Nome de Domínio na barra de endereço EG project1.deve o site deve ser iniciado.


Mecanismo WAMPServer 2.5 antigo, ou se você quiser fazer tudo manualmente

Houve uma mudança de conceito no WampServer 2.5 e superior e há um bom motivo para essa mudança!

No WampServer, agora é fortemente encorajado a criar um Host Virtual para cada um de seus projetos, mesmo que você os mantenha em uma \wamp\www\subfolderestrutura.

Documentação de hosts virtuais

Exemplos de host virtual

A página inicial do WampServer ( \wamp\www\index.php) agora espera que você tenha criado um Host Virtual para todos os seus projetos e, portanto, funcionará corretamente somente se você fizer isso.

História

A fim de tornar a vida mais fácil para iniciantes que usam WampServer para aprender PHP Apache e MySQL, foi sugerido que você crie subpastas sob a \wamp\www\pasta.

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

Essas subpastas seriam então mostradas como links na página inicial do WampServer em um menu chamado 'Seus projetos' e esses links conteriam um link para localhost/subfoldername.

Aceitável apenas para tutoriais simples

Isso tornava a vida mais fácil para o iniciante e era perfeitamente aceitável, por exemplo, para os seguintes tutoriais aprenderem a codificação PHP. No entanto, ele nunca foi planejado para ser usado durante o desenvolvimento de um site real que mais tarde você desejaria copiar para seu servidor hospedado ao vivo. Na verdade, se você usasse esse mecanismo, muitas vezes causava problemas, pois a configuração dos sites ativos não combinaria com a configuração de desenvolvimento.

O problema para o desenvolvimento de um site real.

A razão para isso é claro que a configuração padrão do DocumentRoot para wamp é

DocumentRoot "c:/wamp/www/"

independentemente de como sua subpasta foi chamada. Esse ment, que costumava usar código PHP que consultava a estrutura ou seu site, recebeu informações diferentes ao executar em seu WampServer de desenvolvimento do que receberia ao executar em um servidor hospedado ao vivo, onde a configuração do DocumentRoot aponta para a pasta no topo do site hierarquia de arquivos. Este tipo de código existe em muitos frameworks e CMS's, por exemplo WordPress e Joomla etc.

Por exemplo

Vamos dizer que temos um projeto chamado project1 mantido wamp\www\project1e executado incorretamente comolocalhost/project1/index.php

Isso é o que seria relatado por alguns dos comandos PHP em questão:

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

Agora, se tivéssemos definido corretamente esse site usando uma definição de Host Virtual e http://project1o executássemos , os resultados no site de desenvolvimento WAMPServer corresponderão aos recebidos em um ambiente hospedado ao vivo.

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

Agora, essa diferença pode parecer trivial no início, mas se você fosse usar um framework como o WordPress ou um dos CMSs como o Joomla, por exemplo, isso pode causar problemas quando você muda seu site para um servidor ativo.

Como criar um Host Virtual no WampServer

Na verdade, isso deve funcionar basicamente da mesma forma para qualquer servidor Apache do Windows, com diferenças apenas em onde você pode encontrar os arquivos de configuração do Apache.

Existem 3 etapas para criar seu primeiro Host Virtual no Apache, e apenas 2 se você já tiver um definido.

  1. Crie a (s) definição (ões) de Host Virtual
  2. Adicione seu novo nome de domínio ao arquivo HOSTS.
  3. Remova o comentário da linha em httpd.conf que inclui o arquivo de definição de Hosts Virtuais.

Etapa 1 , criar a (s) definição (ões) de host virtual

Edite o arquivo chamado httpd-hosts.confque para WampServer vive em

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

(Os números de versão do Apache podem ser diferentes, envolva o cérebro antes de continuar)

Se esta for a primeira vez que você edita este arquivo, remova o código de exemplo padrão, ele é inútil.

Estou assumindo que queremos criar uma definição para um site chamado project1 que vive em

\wamp\www\project1

Muito importante, primeiro devemos ter certeza de que o localhost ainda funciona, de modo que essa é a primeira definição VHOST que colocaremos neste arquivo.

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

Agora definimos nosso projeto: e isso é claro você faz para cada um de seus projetos ao iniciar um novo.

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

NOTA: Que cada Host Virtual conforme seu próprio DocumentRootdefinido. Existem também muitos outros parâmetros que você pode adicionar a uma definição de hosts virtuais, verifique a documentação do Apache.

Pequeno aparte

A maneira como os hosts virtuais funcionam no Apache: A primeira definição neste arquivo também será o site padrão, portanto, se o nome de domínio usado no navegador não corresponder a nenhum domínio hospedado virtualmente definido, tornando localhost o primeiro domínio no arquivo, portanto, é o site que é carregado se uma tentativa de hack apenas usar seu endereço IP. Portanto, se garantirmos que a segurança do Apache para este domínio esteja SEMPRE DEFINIDA PARA

Require local

qualquer hack casual de um endereço externo receberá um erro e não entrará em seu PC, mas se você digitar um domínio incorretamente, será exibida a página inicial do WampServer, porque você está no mesmo PC que o WampServer e portanto local.

Etapa 2 :

Adicione seu novo nome de domínio ao arquivo HOSTS. Agora precisamos adicionar o nome de domínio que usamos na definição do Host Virtual ao arquivo HOSTS para que o Windows saiba onde encontrá-lo. Isso é semelhante à criação de um registro DNS A, mas só é visível neste caso neste PC específico.

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

O arquivo não tem extensão e deve permanecer assim. Cuidado com o bloco de notas, pois ele pode tentar adicionar uma .txtextensão se você não tiver um editor melhor. Eu sugiro que você baixe o Notepad ++, é um editor gratuito e muito bom.

Além disso, este é um arquivo protegido, portanto, você deve editá-lo com privilégios de administrador, portanto, inicie seu editor usando a opção de menu Executar como Administrador .

O arquivo de hosts deve ficar assim quando você tiver concluído essas edições

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Observe que você deve ter definições aqui para o endereço de loopback de IPV4 127.0.0.1e também o endereço de loopback de IPV6, ::1já que o Apache agora reconhece IPV6 e o ​​navegador usará IPV4 ou IPV6 ou ambos. Não tenho ideia de como ele decide qual usar, mas pode usar qualquer um dos dois se você tiver a pilha IPV6 ativada e a maioria dos sistemas operacionais de janela o fizer a partir do XP SP3.

Agora devemos dizer ao Windows para atualizar seu cache de nome de domínio, então abra uma janela de comando novamente usando a opção de menu Executar como Administrador e faça o seguinte.

net stop dnscache
net start dnscache

Isso força o Windows a limpar seu cache de nome de domínio e recarregá-lo; ao recarregá-lo, ele relerá o arquivo HOSTS, então agora ele saberá sobre o domínio project1.

Etapa 3 : Remova o comentário da linha em httpd.conf que inclui o arquivo de definição de Hosts Virtuais.

Edite seu httpd.conf, use os menus wampmanager.exe para certificar-se de editar o arquivo correto.

Encontre esta linha em httpd.conf

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

E apenas remova o #para descomentar essa linha.

Para ativar essa mudança na execução do Apache, devemos agora parar e reiniciar o serviço Apache.

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

Agora, se o ícone WAMP na bandeja do sistema não ficar VERDE novamente, significa que provavelmente você fez algo errado no \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.confarquivo.

Nesse caso, aqui está um mecanismo útil para descobrir o que está errado. Ele usa um recurso do Apache exe (httpd.exe) para verificar seus arquivos de configuração e relatar erros por nome de arquivo e números de linha.

Abra uma janela de comando.

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

Então, corrija os erros e teste novamente até obter o resultado

Syntax OK

Agora, há mais uma coisa.

Na verdade, existem 2 novos itens de menu no sistema de menus do wampmanager. Um denominado 'Meus Projetos' que é ativado por padrão. E um segundo, chamado 'My Virtual Hosts' , que não é ativado por padrão.

'Meus projetos' listará qualquer subdiretório do diretório \ wamp \ www e fornecerá um link para lançar o site nesse subdiretório. Como eu disse antes, ele inicia 'project1` e não' localhost / project1 ', então para fazer o link funcionar, devemos criar uma definição de Host Virtual para fazer com que esse link realmente inicie aquele site em seu navegador, sem a definição de Host Virtual é provável Inicie uma pesquisa na web pelo nome do site como uma palavra-chave ou apenas retorne uma condição de site não encontrado.

O item de menu 'Meus hosts virtuais' é um pouco diferente. Ele pesquisa o arquivo que é usado para definir Hosts Virtuais (veremos isso em um minuto) e cria links de menu para cada parâmetro ServerName que encontra e cria um item de menu para cada um. Isso pode parecer um pouco confuso, pois depois de criarmos uma definição de Host Virtual para os subdiretórios da pasta \ wamp \ www, alguns itens aparecerão tanto no menu 'Meus Projetos' quanto no menu 'Meus Hosts Virtuais'.

Como faço para ativar esse outro menu 'Meus hosts virtuais'?

  • Faça um backup do arquivo \ wamp \ wampmanager.tpl, caso se engane, é um arquivo muito importante.
  • Edite o \ wamp \ wampmanager.tpl
  • Encontre este parâmetro ;WAMPPROJECTSUBMENUna seção '[Menu.Left]'.
  • Adicione este novo parâmetro ;WAMPVHOSTSUBMENUantes ou depois do ;WAMPPROJECTSUBMENUparâmetro.
  • Salve o arquivo.
  • Agora clique com o botão direito no ícone do gerenciador de wamp e selecione 'Atualizar'. Se isso não adicionar o menu, 'saia' e reinicie o wampmanager.

Nota importante O novo menu só aparecerá se você já tiver alguns hosts virtuais definidos! Caso contrário, você não verá nenhuma diferença até definir um VHOST.

Agora, se você levar isso à sua extensão lógica

Agora você pode mover o código do seu site completamente para fora da \wamp\estrutura de pastas, simplesmente alterando o parâmetro DocumentRoot na definição VHOST. Então, por exemplo, você pode fazer isso:

Crie uma pasta no disco wamp ou em qualquer outro disco (cuidado com a unidade de rede, eles são um pouco mais complicados)

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

Agora você copia o código do seu site ou começa a criá-lo na \websites\example.com\wwwpasta e define o seu VHOST assim:

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

Em seguida, adicione este novo domínio de desenvolvimento ao arquivo 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: Não é uma boa ideia usar um ServerName ou ServerAlias ​​que seja igual ao seu nome de domínio ativo, pois se tivéssemos usado example.com como o ServerName, isso significaria que não poderíamos mais acessar o site real ao vivo a partir deste PC, pois direcionaria example.com para 127.0.0.1, ou seja, este PC e não para a Internet.

TAMBÉM: Veja que permiti que este site fosse acessado da internet a partir das definições do VHOST, esta mudança se aplicará apenas a este site e a nenhum outro. Muito útil para permitir que um cliente visualize suas alterações por uma hora ou mais sem ter que copiá-las para o servidor ativo. Isso significa que temos que editar esse arquivo manualmente para ativar e desativar esse acesso, em vez de usar o item de menu Colocar online / offline no wampmanager.

Além disso, adicionei algumas modificações à configuração do PHP, mais uma vez, que só se aplicam a este site. Muito útil ao manter um site com requisitos específicos, ao contrário de todos os outros sites que você mantém. Acho que podemos presumir a partir dos parâmetros usados ​​que ele tem uma página de longa execução em algum lugar e está muito mal escrito e não será executado com erros sendo exibidos no navegador sem fazer uma bagunça horrível da página. Acredite em mim, sites como este existem e as pessoas ainda querem que eles sejam mantidos mal . Mas isso significa que só temos que alterar esses parâmetros para este site específico e não globalmente para todos os sites virtuais em execução no WampServer.

RiggsFolly
fonte
Extremamente útil. Esta realmente deveria ser a resposta aceita. Muito informativo e se seguido corretamente, você estará pronto para usar em cerca de 10 minutos. Ótimo conselho. Mas um ponto rápido. Recebi um .htaccess: Erro de comando 'RewriteEngine' inválido. Tive que marcar rewrite_module no menu Módulos do Apache. Alguém poderia responder por que eu tive que fazer isso?
Chris
1
@Chris Apache's rewrite_module é o código que realmente fornece o mecanismo de reescrita. Sem ele, o apache não sabe como reescrever url. Basicamente, não faz parte do núcleo do Apache, mas um complemento na falta de uma descrição melhor
RiggsFolly
"Edite o arquivo chamado httpd-hosts.conf que para o WampServer reside em \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf" Na minha nova instalação do wampserver 2.5, este arquivo não existe. Se você quis dizer httpd-vhosts.conf, corrija.
bcsteeve
2
@ starleaf1 O desejo é nosso comando! Execute localhost/add_vhost.phpno WAMPServer 3, verifique esta postagem no WAMPServers Forum
RiggsFolly
1
Fale sobre uma explicação detalhada! +1 para o right click wampmanager -> Tools -> Restart DNSque funcionou depois de adicionar um novo host virtual e não entender por que ele ainda não estava funcionando.
Paesano2000,
74

Acredito que esta seja a melhor solução:

Abra index.php na pasta www e defina

mudar a linha 30:$suppress_localhost = true;

para $suppress_localhost = false;

Isso irá garantir que o projeto seja prefixado com o IP / nome do seu host local

Hussain
fonte
1
obrigado! problema resolvido, mas icons / images of / icons path não mostrando blank.git, back.gif, folder.gif mostra não encontrado. alguma solução para isso também?
Shubham Badal
3
Sim, crie um Host virtual para cada site, veja a resposta acima para saber como.
RiggsFolly
1
Existe agora (WAMPSERVER 3) uma opção de menu simples no wampmanager para fazer isso se você realmente não entende o que é uma má ideia. right click wampmanager->Wamp Settings->Add localhost to urlA única coisa boa sobre isso é que você pode desligá-lo novamente facilmente quando perceber que foi uma péssima ideia, em primeiro lugar!
RiggsFolly
24

Abra index.phpna wwwpasta e defina

$suppress_localhost = false;

Isso irá preceder os http://localhost/links do seu projeto

Arun Unnikrishnan
fonte
1
Atualização: há uma nova maneira de fazer isso. aqui: stackoverflow.com/a/40846681/3125936
Ahmed Faizan
11

Para acessar o projeto a partir da página inicial, você precisa primeiro criar um Host Virtual .

A maneira mais fácil de fazer isso é usar o utilitário Add a Virtual Host do Wamp .

Basta seguir estas etapas:

  1. Crie uma pasta dentro do diretório "C: \ wamp \ www \" e dê a ela um nome que você deseja dar ao seu site, por exemplo. ' meusite '. Portanto, o caminho seria "C: \ wamp \ www \ mysite" .
  2. Agora abra a página inicial do localhost em seu navegador, no menu Ferramentas clique em Adicionar um Host Virtual link .
  3. Digite o nome do host virtual , esse nome deve ser o nome da pasta que criamos dentro do diretório www , ou seja, ' meusite '.
  4. Insira o caminho absoluto do host virtual, ou seja, "C: \ wamp \ www \ mysite \" sem aspas e clique no botão abaixo dizendo 'Iniciar a criação do VirtualHost' .
  5. Virtual Host criado, agora você só precisa 'Reiniciar DNS' . Para fazer isso, clique com o botão direito do mouse no ícone do menu da bandeja do servidor wamp, clique em Ferramentas> Reiniciar DNS e deixe o ícone do menu da bandeja ficar verde novamente.
  6. Tudo pronto! Agora apenas crie a página 'index.php' dentro do diretório "C: \ wamp \ www \ mysite \" . Adicione algum código no arquivo 'index.php' , como
    <?php echo "<h1>Hello World</h1>"; ?>

Agora você pode acessar os projetos na página inicial do localhost. Basta clicar no link do projeto e você verá 'Hello World' impresso na tela.

Rakesh
fonte
1
Eu acho que esse deveria ser o awnser aceito porque eu tive o mesmo problema e funcionou!
Nmaster88
1
este é o mais recente, perfeito e funcionou para mim. obrigado . algumas das respostas acima são longas e obsoletas.
Junaid
2
Esta deve ser a resposta aceita atualmente em 18/04/2017. Funcionou perfeitamente para mim.
rolo
funcionou, no entanto, o host virtual para uma das pastas de projeto que criei, digamos exemplo, não alterou o exemplo sob o título 'Seus projetos' como um link .. por que isso?
Krys
Se alguém tiver algum problema com as pastas do projeto que não mudam de texto preto para links http, segui esta maneira rápida para habilitá-lo: abra index.php em wamp / www /, copie a string na linha 152: <li> <a href = "'. str_replace ('. conf ',' ', $ arquivo).' /"> '. str_replace ('. conf ',' ', $ arquivo).' </a> </li> e substitua a string <li>. $ file. </li> na linha 359. ei presto!
Krys
2

Como corrigir links de ícones quebrados (blank.gif, text.gif, etc.)

Infelizmente, como mencionado anteriormente, simplesmente adicionar um host virtual ao seu projeto não corrige os links de ícones corrompidos.

O problema:

O WAMP / Apache não altera a referência de diretório dos ícones para seu respectivo diretório de instalação. Está estaticamente definido como "c: / Apache24 / icons" e 99,9% dos usuários de instalação do Apache não residem aqui. Especialmente com WAMP.

O conserto:

  1. Encontre seu diretório de ícones do Apache! Normalmente, ele estará localizado aqui: "c: /wamp/bin/apache/apache2.4.9/icons". No entanto, sua milhagem pode variar dependendo de sua instalação e se sua versão do Apache for diferente, seu caminho também será diferente. \

  2. Abra httpd-autoindex.conf em seu editor favorito. Este arquivo geralmente pode ser encontrado aqui: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Novamente, se sua versão do Apache for diferente, este caminho também será.

  3. Encontre esta definição (geralmente localizada perto do topo do arquivo):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. Substitua os diretórios "c: / Apache24 / icons /" pelos seus. IMPORTANTE Você DEVE ter uma barra à direita na primeira referência de diretório. A segunda referência de diretório não deve ter nenhuma barra final. Seus resultados devem ser semelhantes a este. Novamente, seu diretório pode ser diferente:

    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. Reinicie seu servidor Apache e aproveite seus ícones legais!

hipóxia
fonte
Uma solução melhor e mais geral é alterar o Aliaspara Alias /icons/ "icons/"em versões anteriores ao WAMPServer 3. No WAMPServer 3 e acima, este é o padrão e nenhuma alteração é necessária.
RiggsFolly de
2

Você pode seguir todos os passos por @RiggsFolly essa é uma resposta realmente boa, Se você não quiser criar um host virtual e quiser usar como localhost / exemplo / anterior anterior ou algo parecido, você pode usar a resposta por @Arunu

Mas se você ainda tiver problemas, use este método,

  1. Localize a pasta Wamp (por exemplo, c: / Wamp /) onde você instalou
  2. Vá para Wamp / www /
  3. Abra o arquivo index.php
  4. encontre este código $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. modifique-o, adicione localhost após http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Reinicie o servidor wamp
  7. abrir localhost veja os links atualizados

Espero que você tenha seu url como a versão anterior do servidor wamp.

Khadka Pushpendra
fonte
Você poderia sugerir na enxada que fazemos isso para o xampp. Tentei de todas as maneiras, mas meu site redireciona para a página inicial do xampp
Sushivam
1
$suppress_localhost = false;

Isso funcionou para mim.

Valtec
fonte
1

Isso funciona no Wamp 3+.

  • Vá para a pasta wamp (wamp / ou wamp64 /)
  • Abra wampmanager.conf
  • Encontre o parâmetro urlAddLocalhost e configure-o em: urlAddLocalhost = "on"

Não deve haver necessidade de ajustar o index.php na pasta www.

Arnaud Leyder
fonte
Eu fiz a solução para esse problema aqui: youtu.be/rRwG591fzU8
Ns789
0

Re: Links Wampserver LocalHost não funcionam corretamente
Isso é desde junho de 2014 com Wampserver2.5 (talvez eles consertem isso em compilações posteriores).
Observação: para usar LocalHost: 8080 em vez de LocalHost, basta fazer as alterações apropriadas nas edições mencionadas abaixo.

Existem 2 aspectos deste problema -
o primeiro é ser capaz de acessar os itens em "Seus projetos" na página inicial do localhost do Wamp.
A segunda é ser capaz de acessar corretamente os itens listados na lista "Meus projetos" da barra de tarefas do ícone Wampserver.

Para corrigir o primeiro (para poder acessar itens em "Seus projetos" da página inicial do localhost do Wamp), você precisará fazer o seguinte ...

Existem 2 edições que você deve fazer no arquivo index.php localizado na sua pasta wamp \ www (geralmente C: \ wamp \ www)

1) mudança na linha 30

  $suppress_localhost = true;

para

  $suppress_localhost = false;

2) alteração na linha 338

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

para

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

Depois de fazer as edições acima - se o Wampserver estiver em execução, basta atualizar a página do host local e as alterações entrarão em vigor imediatamente.

Para consertar o segundo item (lista "Meus projetos" da barra de tarefas do ícone Wampserver): Você precisa editar C: \ wamp \ scripts \ refresh.php

Localize a linha 651 e mude a seção da linha que lê

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

para

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

Depois de fazer esse segundo conjunto de mudanças, você pode ter que forçar o Wampserver a atualizar a lista "Meus projetos" alternando a opção Colocar online / offline na parte inferior do aplicativo Wamp Icon Tray.

TheSteven
fonte
Cara incrível, finalmente algo que funciona! (para contornar iis jacking porta 80 fazendo um site funcionar a partir da página localhost do wamp)
Cammy
-1
  1. verifique se o ícone do servidor wamp está verde ou não, se estiver verde, então está funcionando; se não, você deve seguir estas etapas para fazer

    uma. todos os programas devem ser fechados antes de rodar o wamp porque na maioria dos casos alguns softwares como o skype tomam a mesma porta (80) que está usando pelo wamp.

    b. você pode alterar a porta do skype: Ferramentas-> opções-> avançado-> conexão desmarcar usar porta 80

  2. reinicie o wamp ele vai funcionar.

SEGUNDO caso

  1. quando você clica no projeto em loalhost ele não mostra o localhost na frente do nome do projeto e por isso parece que o wamp não está funcionando então você tem que fazer apenas uma coisa

    . vá para o arquivo wamp index.php e altere $ suppress_localhost = false; de $ suppress_localhost = true; ou tente vice-versa, vai funcionar

Raman verma
fonte
-1

Navegue até o seu diretório www (se estiver usando o servidor wamp) htdocs (se estiver no XAMPP). Abra seu admin.php e pesquise o conteúdo do projeto / ou vá diretamente para a linha 339 e altere o link, inserindo 'host local no link.

Isso deve funcionar ,,

Samoei
fonte
-1

Acho que é muito mais fácil (do que uma resposta aceita) criar um subdomínio local por projeto e dizer ao Apache para servir a vários sites por nome.

Por exemplo, digamos que você criou um projeto em c:/wamp64/www/sites/mysite, para poder acessá-lo em http: //mysite.localhost, você simplesmente precisa fazer o seguinte:

1. Diga a sua máquina para responder a nomes diferentes Adicionar 127.0.0.1 mysite.localhostaC:\windows\system32\drivers\etc\hosts

2. Lave o cache do DNS Abra um prompt de comando como administrador e tipo net stop dnscache, em seguida net start dnscache.

3. Diga ao Apache onde procurar Clique no ícone do Wamp na bandeja, vá para Apache -> httpd.conf, e adicione isto no final:

# 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. Reinicie o Apache Clique no ícone do Wamp na bandeja, selecione "reiniciar"

5. Defina um url de base Vá para a pasta do seu projeto, adicione <base href="http://mysite.localhost" />ao seu<head> seção para evitar que / links para a raiz do servidor sejam quebrados.

Pessoalmente, injeto esse código html dinamicamente em meu modelo usando PHP (algo como $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;), então não preciso me preocupar em removê-lo uma vez na produção.

Sol
fonte
-3

Olá, você precisa abrir o index.php do servidor wamp e alterar $ suppress_localhost = false; de $ suppress_localhost = true; então seu wamp funcionará bem

Raman verma
fonte
2
Existem muitas respostas que dizem exatamente isso.
Vael Victus
1
Então você não contribuiu com nada.
Vael Victus