Los enlaces de proyectos no funcionan en Wamp Server

85

Estoy instalando el servidor Wamp en otra computadora para ejecutar una base de datos y una interfaz de usuario de tamaño mediano. He tenido éxito en bloquear IIS y enrutar el servidor a Localhost: 8080. Pero cada vez que intento acceder a uno de mis proyectos desde la página de inicio de localhost, en el archivo www; Me redirigen a un error de página no encontrada.

Cuando coloco el cursor sobre los enlaces, el directorio siempre aparece "http: // ProjectFolderNameHere /". cuando se supone que es "http: // LocalHost: 8080 / ProjectFolderNameHere /". ¿Qué puedo hacer para que los enlaces funcionen correctamente?

Mi máquina funciona con Windows 7 Home Edition de 64 bits y ya tengo el IIS de Microsoft desactivado.

usuario3638431
fuente
¿Puede acceder a localhost: 8080 / index.html (suponiendo que tenga uno)? ¿Dónde se almacenan los enlaces que le muestran esas URL rotas? ¿Quién los escribió? Parece que esos enlaces están mal escritos.
Patrick
No, pero intenté conectarme a uno de mis archivos, ¡todo listo aquí, gracias!
user3638431
Si encontró una solución, responda su propia pregunta para referencia futura :)
Patrick
Ok Entonces, lo que hice fue seguir el consejo de Patrick, pero en su lugar escribí localhost: 8080 / ProjectFilename y finalmente obtuve acceso a mi proyecto. Mi problema aún persiste, pero encontré una forma de solucionarlo.
user3638431
Bueno, creo que tus enlaces (en los que haces clic) están mal escritos. Si pudiera arrojar más luz sobre cómo llegar a esos enlaces, dónde están escritos antes de hacer 'clic' en ellos, podría ayudar más
Patrick

Respuestas:

157

Cómo crear un host virtual en WampServer


¡WAMPServer 3 ha facilitado mucho este proceso!

Puede hacer casi todo desde una utilidad proporcionada como parte de WAMPServer.

  • Cree una carpeta dentro para contener su project.site. Esto puede estar bajo el C:\wamp\www\directorio o en una carpeta completamente separada como C:\websites.

  • Cree una carpeta dentro de la ubicación que ha elegido EG C:\websites\project1\wwwo debajo delc:\wamp\www\project1\www

  • Ahora abra localhost wampmanager->localhosty haga clic en el enlace Add a Virtual Hostdebajo de la sección HERRAMIENTAS en la página de inicio.

Verá una página como esta:

ingrese la descripción de la imagen aquí

  • Complete los campos como se especifica en las instrucciones sobre cada campo

  • La configuración del host virtual se habrá creado para usted.

  • Ahora debes reiniciar la caché de DNS. Puedes hacer esto desde los menús de wampmanager como esteright click wampmanager->Tools->Restart DNS . La caché de DNS se reiniciará y luego Apache también se detendrá y reiniciará. Cuando el icono de wampmanager se vuelve verde nuevamente, todo está completo.

  • Ahora debe crear un index.phparchivo simple o instalar su sitio en la carpeta que creó anteriormente.

  • Suponiendo que se haya llamado a su VH, project.devdebería ver ese nombre en la sección Sus hosts virtuales de la página de inicio de WAMPServer.

  • Puede iniciar el sitio desde este menú, o simplemente usar el nuevo nombre de dominio en la barra de direcciones EG project1.devy el sitio debe iniciarse.


Mecanismo antiguo de WAMPServer 2.5, o si desea hacerlo todo manualmente

¡Ha habido un cambio de concepto en WampServer 2.5 y superior y hay una buena razón para este cambio!

En WampServer ahora se recomienda ENCARECIDAMENTE crear un host virtual para cada uno de sus proyectos, incluso si los mantiene en un \wamp\www\subfolder estructura.

Documentación de hosts virtuales

Ejemplos de host virtual

La página de inicio de WampServer ( \wamp\www\index.php) ahora espera que haya creado un host virtual para todos sus proyectos y, por lo tanto, funcionará correctamente solo si lo hace.

Historia

Con el fin de hacer la vida más fácil a los principiantes que usan WampServer para aprender PHP Apache y MySQL, se sugirió que creara subcarpetas debajo de la \wamp\www\carpeta.

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

Estas subcarpetas se mostrarían entonces como enlaces en la página de inicio de WampServer en un menú llamado 'Sus proyectos' y estos enlaces contendrían un enlace a localhost/subfoldername.

Aceptable solo para tutoriales simples

Esto facilitó la vida al principiante completo y fue perfectamente aceptable, por ejemplo, para aquellos que siguen tutoriales para aprender la codificación PHP. Sin embargo, nunca fue diseñado para usarse al desarrollar un sitio web real que luego desearía copiar a su servidor alojado en vivo. De hecho, si utilizara este mecanismo, a menudo causaba problemas, ya que la configuración de los sitios en vivo no coincidiría con la configuración de desarrollo.

El problema del desarrollo de sitios web reales.

La razón de esto es, por supuesto, que la configuración predeterminada de DocumentRoot para wamp es

DocumentRoot "c:/wamp/www/"

independientemente del nombre de su subcarpeta. Este mensaje que a menudo usaba código PHP que consultaba la estructura o su sitio recibía información diferente cuando se ejecutaba en su WampServer de desarrollo a la que recibiría cuando se ejecutaba en un servidor alojado en vivo, donde la configuración de DocumentRoot apunta a la carpeta en la parte superior del sitio web jerarquía de archivos. Este tipo de código existe en muchos marcos y CMS, por ejemplo, WordPress y Joomla, etc.

Por ejemplo

Digamos que tenemos un proyecto llamado project1 retenido wamp\www\project1y ejecutado incorrectamente comolocalhost/project1/index.php

Esto es lo que reportarían algunos de los comandos PHP en cuestión:

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

Ahora bien, si hubiéramos definido correctamente ese sitio utilizando una definición de host virtual y lo http://project1ejecutáramos, los resultados en el sitio de desarrollo de WAMPServer coincidirán con los recibidos en un entorno alojado en vivo.

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

Ahora bien, esta diferencia puede parecer trivial al principio, pero si usara un marco como WordPress o uno de los CMS como Joomla, por ejemplo, esto puede causar problemas cuando mueve su sitio a un servidor en vivo.

Cómo crear un host virtual en WampServer

En realidad, esto debería funcionar básicamente igual para cualquier servidor Apache de wndows, con diferencias solo en el lugar donde puede encontrar los archivos de configuración de Apache.

Hay 3 pasos para crear su primer host virtual en Apache, y solo 2 si ya tiene uno definido.

  1. Cree las definiciones de host virtual
  2. Agregue su nuevo nombre de dominio al archivo HOSTS.
  3. Quite el comentario de la línea en httpd.conf que incluye el archivo de definición de Virtual Hosts.

Paso 1 , crear las definiciones de host virtual

Edite el archivo llamado en el httpd-hosts.confque reside WampServer

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

(Los números de versión de Apache pueden diferir, active el cerebro antes de continuar)

Si es la primera vez que edita este archivo, elimine el código de ejemplo predeterminado, no sirve de nada.

Supongo que queremos crear una definición para un sitio llamado proyecto1 que vive en

\wamp\www\project1

Muy importante, primero debemos asegurarnos de que localhost todavía funciona, por lo que es la primera definición de VHOST que colocaremos en este archivo.

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

Ahora definimos nuestro proyecto: y esto, por supuesto, lo hace para cada uno de sus proyectos cuando comienza uno nuevo.

<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 como propio DocumentRootdefinido. También hay muchos otros parámetros que puede agregar a una definición de hosts virtuales, consulte la documentación de Apache.

Pequeño aparte

La forma en que funcionan los hosts virtuales en Apache: la primera definición de este archivo también será el sitio predeterminado, por lo que, si el nombre de dominio utilizado en el navegador no coincide con ningún dominio alojado virtualmente definido, lo que hará que localhost sea el primer dominio del archivo. es el sitio que se carga si un intento de pirateo solo usa su dirección IP. Entonces, si nos aseguramos de que la seguridad de Apache para este dominio esté SIEMPRE CONFIGURADA

Require local

cualquier pirateo casual desde una dirección externa recibirá un error y no entrará en su PC, pero si escribe mal un dominio, se le mostrará la página de inicio de WampServer, porque está en la misma PC que WampServer y por lo tanto local.

Paso 2 :

Agregue su nuevo nombre de dominio al archivo HOSTS. Ahora necesitamos agregar el nombre de dominio que hemos usado en la definición de Virtual Host al archivo HOSTS para que Windows sepa dónde encontrarlo. Esto es similar a crear un registro A de DNS, pero solo es visible en este caso en esta PC específica.

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

El archivo no tiene extensión y debería permanecer así. Tenga cuidado con el bloc de notas, ya que puede intentar agregar una .txtextensión si no tiene un editor mejor. Te sugiero que descargues Notepad ++, es gratis y es un muy buen editor.

Además, este es un archivo protegido por lo que debe editarlo con privilegios de administrador, así que inicie su editor usando la opción de menú Ejecutar como administrador .

El archivo de hosts debería verse así cuando haya completado estas ediciones

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Tenga en cuenta que debe tener definiciones aquí para la dirección de bucle invertido IPV4 127.0.0.1y también la dirección de bucle invertido IPV6::1 ya que Apache ahora es compatible con IPV6 y el navegador utilizará IPV4 o IPV6 o ambos. No tengo idea de cómo decide cuál usar, pero puede usarlo si tiene la pila IPV6 encendida, y la mayoría de los sistemas operativos de ventanas lo hacen a partir de XP SP3.

Ahora debemos decirle a Windows que actualice su caché de nombre de dominio, así que inicie una ventana de comando nuevamente usando la opción de menú Ejecutar como administrador nuevamente, y haga lo siguiente.

net stop dnscache
net start dnscache

Esto obliga a Windows a borrar su caché de nombre de dominio y volver a cargarlo, al volver a cargarlo, volverá a leer el archivo HOSTS para que ahora sepa sobre el dominio. project1 .

Paso 3 : Quite el comentario de la línea en httpd.conf que incluye el archivo de definición de Virtual Hosts.

Edite su httpd.conf, use los menús de wampmanager.exe para asegurarse de editar el archivo correcto.

Encuentre esta línea en httpd.conf

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

Y simplemente elimine el #para descomentar esa línea.

Para activar este cambio en su ejecución de Apache, ahora debemos detener y reiniciar el servicio de Apache.

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

Ahora, si el ícono de WAMP en la bandeja del sistema no se vuelve VERDE nuevamente, significa que probablemente ha hecho algo mal en el \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.confarchivo.

Si es así, aquí hay un mecanismo útil para averiguar qué está mal. Utiliza una función de Apache exe (httpd.exe) para verificar sus archivos de configuración e informar errores por nombre de archivo y números de línea.

Inicie una ventana de comando.

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

Así que corrija los errores y vuelva a probar hasta que obtenga el resultado

Syntax OK

Ahora hay una cosa más.

En realidad, hay 2 elementos de menú nuevos en el sistema de menús de wampmanager. Uno llamado 'Mis proyectos' que está activado de forma predeterminada. Y un segundo, llamado 'Mis hosts virtuales' , que no está activado por defecto.

'Mis proyectos' enumerará cualquier subdirectorio del directorio \ wamp \ www y proporcionará un enlace para iniciar el sitio en ese subdirectorio. Como dije anteriormente, lanza 'project1` y no' localhost / project1 ', por lo que para que el enlace funcione debemos crear una definición de host virtual para que este enlace lance realmente ese sitio en su navegador, sin la definición de host virtual es probable que Inicie una búsqueda web para el nombre del sitio como palabra clave o simplemente devuelva una condición de sitio no encontrado.

El elemento del menú "Mis hosts virtuales" es un poco diferente. Busca el archivo que se utiliza para definir los hosts virtuales (llegaremos a eso en un minuto) y crea enlaces de menú para cada parámetro ServerName que encuentra y crea un elemento de menú para cada uno. Esto puede parecer un poco confuso, ya que una vez que creamos una definición de host virtual para los subdirectorios de la carpeta \ wamp \ www, algunos elementos aparecerán tanto en el menú 'Mis proyectos' como en el menú 'Mis hosts virtuales'.

¿Cómo activo este otro menú "Mis hosts virtuales"?

  • Haga una copia de seguridad del archivo \ wamp \ wampmanager.tpl, en caso de que cometa un error, es un archivo muy importante.
  • Edite \ wamp \ wampmanager.tpl
  • Encuentra este parámetro ;WAMPPROJECTSUBMENU , está en la sección '[Menu.Left]'.
  • Agregue este nuevo parámetro ;WAMPVHOSTSUBMENUantes o después del;WAMPPROJECTSUBMENU parámetro.
  • Guarda el archivo.
  • Ahora haga clic derecho en el icono de wampmanager y seleccione 'Actualizar'. Si esto no agrega el menú, 'salga' y reinicie wampmanager.

Gran nota El nuevo menú solo aparecerá si ya tiene definidos algunos hosts virtuales! De lo contrario, no verá ninguna diferencia hasta que defina un VHOST.

Ahora, si llevas esto a su extensión lógica

Ahora puede mover el código de su sitio web completamente fuera del \wamp\ estructura de carpetas simplemente cambiando el parámetro DocumentRoot en la definición de VHOST. Entonces, por ejemplo, podrías hacer esto:

Cree una carpeta en el disco wamp o en cualquier otro disco (tenga cuidado con la unidad de red, son un poco más complicados)

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

Ahora copia el código de tu sitio o comienza a crearlo en la \websites\example.com\wwwcarpeta y define tu VHOST así:

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

Luego agregue este nuevo dominio de desarrollo al archivo 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: No es una buena idea usar un ServerName o ServerAlias ​​que sea el mismo que su nombre de dominio en vivo, ya que si hubiéramos usado example.com como ServerName, significaría que ya no podríamos acceder al sitio real en vivo desde este PC, ya que dirigiría example.com a 127.0.0.1, es decir, a esta PC y no a Internet.

TAMBIÉN: Vea que he permitido que se acceda a este sitio desde Internet desde dentro de las definiciones de VHOST, este cambio se aplicará solo a este sitio y no a otro. Muy útil para permitir que un cliente vea sus cambios durante aproximadamente una hora sin tener que copiarlos al servidor en vivo. Esto significa que tenemos que editar este archivo manualmente para activar y desactivar este acceso en lugar de usar el elemento de menú Poner en línea / fuera de línea en wampmanager.

También agregué algunas modificaciones a la configuración de PHP, nuevamente, eso solo se aplicará a este sitio. Muy útil cuando se mantiene un sitio con requisitos específicos a diferencia de todos los otros sitios que mantiene. Supongo que podemos suponer, a partir de los parámetros utilizados, que tiene una página de larga ejecución en algún lugar y que está muy mal escrita y no se ejecutará con errores que se muestren en el navegador sin hacer un desastre horrible en la página. Créame, existen sitios como este y la gente todavía quiere que se mantengan con urgencia . Pero esto significa que solo tenemos que cambiar estos parámetros para este sitio específico y no globalmente para todos los sitios virtuales que se ejecutan en WampServer.

RiggsFolly
fuente
Muy útil. Esta realmente debería ser la respuesta aceptada. Muy informativo y, si se sigue correctamente, estará listo y funcionando en unos 10 minutos. Buen consejo. Sin embargo, un punto rápido. Recibí un error .htaccess: comando no válido 'RewriteEngine'. Tuve que marcar rewrite_module en el menú Módulos Apache. ¿Alguien podría responder por qué tuve que hacer esto?
Chris
1
El rewrite_module de @Chris Apache es el código que realmente proporciona el motor de reescritura. Sin él, apache no sabe cómo reescribir la URL. Básicamente, no es parte del núcleo de apache, sino un complemento a falta de una mejor descripción
RiggsFolly
"Edite el archivo llamado httpd-hosts.conf que para WampServer vive en \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf" En mi nueva instalación de wampserver 2.5, este archivo no existe. Si se refería a httpd-vhosts.conf, corrija.
bcsteeve
2
@ starleaf1 ¡Tu deseo es nuestro comando! Ejecutar localhost/add_vhost.phpen WAMPServer 3, consulte esta publicación en WAMPServers Forum
RiggsFolly
1
¡Habla sobre una explicación detallada! +1 para el right click wampmanager -> Tools -> Restart DNSque funcionó después de agregar un nuevo host virtual y no comprender por qué aún no funcionaba.
Paesano2000
74

Creo que esta es la mejor solución:

Abra index.php en la carpeta www y configure

cambiar línea 30:$suppress_localhost = true;

a $suppress_localhost = false;

Esto asegurará que el proyecto tenga el prefijo de su IP / nombre de host local

Hussain
fuente
1
¡Gracias! Problema resuelto, pero los iconos / imágenes de la ruta / iconos no se muestran. blank.git, back.gif, folder.gif no se muestran. alguna solución para esto también?
Shubham Badal
3
Sí, cree un host virtual para cada sitio; consulte la respuesta anterior para saber cómo hacerlo.
RiggsFolly
1
Ahora hay (WAMPSERVER 3) una opción de menú simple en wampmanager para hacer esto si realmente no entiende lo mala idea que es. right click wampmanager->Wamp Settings->Add localhost to url¡Lo único bueno de esto es que puede apagarlo nuevamente fácilmente cuando se dé cuenta de la mala idea que fue en primer lugar!
RiggsFolly
24

Abrir index.phpen wwwcarpeta y configurar

$suppress_localhost = false;

Esto antecederá http://localhost/a los enlaces de su proyecto

Arun Unnikrishnan
fuente
1
Actualización: hay una nueva forma de hacer esto. aquí: stackoverflow.com/a/40846681/3125936
Ahmed Faizan
11

Para acceder al proyecto desde la página de inicio, primero debe crear un host virtual .

La forma más fácil de hacer esto es usar la utilidad Agregar un host virtual de Wamp .

Solo sigue estos pasos:

  1. Crea una carpeta dentro del directorio "C: \ wamp \ www \" y dale un nombre que quieras darle a tu sitio, por ejemplo. ' misitio '. Entonces, la ruta sería "C: \ wamp \ www \ mysite" .
  2. Ahora abra la página de inicio de localhost en su navegador, en el menú Herramientas , haga clic en Agregar un host virtual enlace .
  3. Ingrese el nombre del host virtual , ese nombre debe ser el nombre de la carpeta que creamos dentro directorio www , es decir, ' misitio '.
  4. Ingrese la ruta absoluta del host virtual, es decir, "C: \ wamp \ www \ mysite \" sin comillas y haga clic en el botón de abajo que dice "Iniciar la creación del VirtualHost" .
  5. Host virtual creado, ahora solo necesita 'Reiniciar DNS' . Para hacer esto, haga clic derecho en el ícono del menú de la bandeja del servidor wamp, haga clic en Herramientas> Reiniciar DNS y deje que el ícono del menú de la bandeja se vuelva verde nuevamente.
  6. ¡Todo listo! Ahora simplemente cree la página 'index.php' dentro del directorio "C: \ wamp \ www \ mysite \" . Agregue algún código en 'index.php' archivo , como
    <?php echo "<h1>Hello World</h1>"; ?>

Ahora puede acceder a los proyectos desde la página de inicio de localhost. Simplemente haga clic en el enlace del proyecto y verá "Hello World" impreso en su pantalla.

Rakesh
fuente
1
Creo que este debería ser el awnser aceptado porque tuve el mismo problema y ¡funcionó!
Nmaster88
1
este es el último y perfecto y funcionó para mí. Gracias . algunas de las respuestas anteriores son largas y obsoletas.
Junaid
2
Esta debería ser la respuesta aceptada actualmente al 18/4/2017. Funcionó perfectamente para mí.
rolo
esto funcionó, sin embargo, el host virtual para una de las carpetas de proyectos que creé, digamos ejemplo, no ha cambiado el ejemplo bajo el encabezado 'Sus proyectos' como un enlace ... ¿por qué?
Krys
Si alguien tiene algún problema con las carpetas del proyecto que no cambian de texto negro a enlaces http, seguí esta forma rápida de habilitarlo: abra index.php desde wamp / www /, copie la cadena en la línea 152: <li> <a href = "'. str_replace ('. conf ',' ', $ archivo).' /"> '. str_replace ('. conf ',' ', $ archivo).' </a> </li> y reemplace la cadena <li>. $ archivo. </li> en la línea 359. ¡Hola!
Krys
2

Cómo arreglar los enlaces de iconos rotos (blank.gif, text.gif, etc.)

Desafortunadamente, como se mencionó anteriormente, simplemente agregar un host virtual a su proyecto no corrige los enlaces de iconos rotos.

El problema:

WAMP / Apache no cambia la referencia de directorio para los iconos a su directorio de instalación respectivo. Está configurado estáticamente en "c: / Apache24 / icons" y el 99,9% de los usuarios de la instalación de Apache no reside aquí. Especialmente con WAMP.

La solución:

  1. Encuentre su directorio de iconos de Apache! Normalmente se ubicará aquí: "c: /wamp/bin/apache/apache2.4.9/icons". Sin embargo, su kilometraje puede variar dependiendo de su instalación y si su versión de Apache es diferente, entonces su ruta también será diferente. \

  2. Abra httpd-autoindex.conf en su editor favorito. Este archivo normalmente se puede encontrar aquí: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Nuevamente, si su versión de Apache es diferente, esta ruta también lo será.

  3. Encuentre esta definición (generalmente ubicada cerca de la parte superior del archivo):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. Reemplace los directorios "c: / Apache24 / icons /" por los suyos. IMPORTANTE DEBE tener una barra diagonal al final en la primera referencia del directorio. La segunda referencia de directorio no debe tener una barra al final. Sus resultados deberían verse similares a esto. Nuevamente, su directorio puede diferir:

    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. ¡Reinicia tu servidor Apache y disfruta de tus geniales íconos!

hip0xia
fuente
Una solución mejor y más general es cambiar Aliasa Alias /icons/ "icons/"en versiones anteriores a WAMPServer 3. En WAMPServer 3 y superiores, este es el valor predeterminado y no se requieren cambios.
RiggsFolly
2

Puede seguir todos los pasos de @RiggsFolly, esa es una respuesta realmente buena, si no desea crear un host virtual y desea usarlo como localhost / ejemplo anterior / o algo así, puede usar la respuesta de @Arunu

Pero si aún tiene problemas, utilice este método,

  1. Localice su carpeta wamp (Ej. C: / Wamp /) donde ha instalado
  2. Ir a Wamp / www /
  3. Abrir archivo index.php
  4. encuentra este código $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. modificarlo agregue localhost después de http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Reinicie el servidor wamp
  7. abrir localhost ver los enlaces actualizados

Espero que tengas tu URL como la versión anterior del servidor wamp.

Khadka Pushpendra
fuente
¿Podría sugerirnos que lo hagamos para xampp? Lo intenté de todas las formas, pero mi sitio se redirige a la página de inicio de xampp
Sushivam
1
$suppress_localhost = false;

Esto funcionó para mí.

Valtec
fuente
1

Esto funciona en Wamp 3+.

  • Ir a la carpeta wamp (wamp / o wamp64 /)
  • Abra wampmanager.conf
  • Busque el parámetro urlAddLocalhost y configúrelo en: urlAddLocalhost = "on"

No debería ser necesario modificar el index.php en la carpeta www.

Arnaud Leyder
fuente
0

Re: Los enlaces de Wampserver LocalHost no funcionan correctamente
Esto es a partir de junio de 2014 con Wampserver2.5 (tal vez lo arreglen en versiones posteriores).
Nota: para usar LocalHost: 8080 en lugar de LocalHost, simplemente realice los cambios apropiados en las ediciones que se mencionan a continuación.

Hay 2 aspectos de este problema:
el primero es poder acceder a los elementos en "Sus proyectos" desde la página de inicio de Wamp localhost.
El segundo es poder acceder correctamente a los elementos enumerados en la lista "Mis proyectos" de la barra de tareas del icono de Wampserver.

Para corregir el primero (para poder acceder a los elementos en "Sus proyectos" desde la página de inicio de Wamp localhost), deberá hacer lo siguiente ...

Hay 2 ediciones que debe realizar en el archivo index.php ubicado en su carpeta wamp \ www (generalmente C: \ wamp \ www)

1) en la línea 30 cambiar

  $suppress_localhost = true;

a

  $suppress_localhost = false;

2) en la línea 338 cambiar

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

a

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

Después de realizar las ediciones anteriores, si Wampserver se está ejecutando, simplemente actualice la página del host local y los cambios se harán efectivos de inmediato.

Para arreglar el segundo elemento (la lista "Mis proyectos" de la barra de tareas del icono de Wampserver): Necesita editar C: \ wamp \ scripts \ refresh.php

Busque la línea 651 y cambie la sección de la línea que dice

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

a

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

Después de realizar este segundo conjunto de cambios, es posible que deba obligar a Wampserver a actualizar la lista "Mis proyectos" activando la opción Poner en línea / Fuera de línea en la parte inferior de la aplicación Wamp Icon Tray.

ElSteven
fuente
¡Tío impresionante, finalmente algo que funciona! (para dar la vuelta a iis jacking puerto 80 haciendo que un sitio funcione desde la página de wamp localhost)
Cammy
-1
  1. Verifique que el ícono del servidor wamp sea verde o no, si es verde, entonces está funcionando, si no, debe seguir estos pasos para hacerlo.

    a. todos los programas deben cerrarse antes de ejecutar el wamp porque la mayoría de los casos algunos softwares como skype toman el mismo puerto (80) que está usando wamp.

    segundo. puede cambiar el puerto de skype: Tool-s-> oprions-> advanced-> connection desmarque usar puerto 80

  2. reiniciar el wamp funcionará.

SEGUNDO caso

  1. cuando hace clic en el proyecto en loalhost, no muestra el localhost enfrente del nombre del proyecto y, por eso, parece que wamp no está funcionando, entonces solo tiene que hacer una cosa

    . vaya al archivo wamp index.php y cambie $ suppress_localhost = false; desde $ suppress_localhost = true; o intente viceversa funcionará

Raman verma
fuente
-1

Navegue a su directorio www (si está usando el servidor wamp) htdocs (si está en XAMPP). Abra su admin.php y busque el contenido del proyecto / o simplemente vaya directamente a la línea número 339 y cambie el enlace, insertando 'host local en el enlace.

Eso debería funcionar ,,

Samoei
fuente
-1

Encuentro que es mucho más fácil (que la respuesta aceptada) crear un subdominio local por proyecto y decirle a Apache que sirva varios sitios por nombre.

Por ejemplo, supongamos que creó un proyecto en c:/wamp64/www/sites/mysite, para poder acceder a él en http: //mysite.localhost , simplemente debe hacer lo siguiente:

1. Dígale a su máquina que responda a diferentes nombres Agregar 127.0.0.1 mysite.localhostaC:\windows\system32\drivers\etc\hosts

2. Vacíe su caché de DNS Abra un símbolo del sistema como administrador y escriba net stop dnscache, luego net start dnscache.

3. Dígale a Apache dónde buscar Haga clic en el icono de Wamp en la bandeja, vaya a Apache -> httpd.conf y agregue esto al 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> 

( fuente )

4. Reinicie Apache Haga clic en el icono de Wamp en la bandeja, seleccione "reiniciar"

5. Defina una URL base Vaya a la carpeta de su proyecto, agréguela <base href="http://mysite.localhost" />a su <head>sección para evitar que se rompan los enlaces / enlaces a la raíz del servidor.

Personalmente, inyecto este código html dinámicamente en mi plantilla usando PHP (algo así como $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;) para no tener que molestarme en eliminarlo una vez en producción.

Dom
fuente
-3

Hola, necesitas abrir index.php desde el servidor de wamp y cambiar $ suppress_localhost = false; de $ suppress_localhost = true; entonces tu wamp funcionará bien

Raman verma
fuente
2
Hay muchas respuestas que dicen exactamente esto.
Vael Victus
1
Entonces no has aportado nada.
Vael Victus