프로젝트 링크가 Wamp 서버에서 작동하지 않습니다.


85

중간 규모의 데이터베이스와 UI를 실행하기 위해 다른 컴퓨터에 Wamp Server를 설치하고 있습니다. IIS를 차단하고 서버를 Localhost : 8080으로 라우팅하는 데 성공했습니다. 그러나 www 파일의 localhost 홈페이지에서 내 프로젝트에 액세스하려고 할 때마다; 페이지를 찾을 수 없음 오류로 리디렉션됩니다.

링크 위로 마우스를 가져 가면 디렉토리가 항상 "http : // ProjectFolderNameHere /"로 표시됩니다. "http : // LocalHost : 8080 / ProjectFolderNameHere /"가되어야 할 때. 링크가 제대로 작동하도록하려면 어떻게해야합니까?

내 컴퓨터는 Windows 7 Home Edition 64 비트에서 실행되며 Microsoft의 IIS가 이미 비활성화되어 있습니다.


localhost : 8080 / index.html에 액세스 할 수 있습니까 (있다고 가정)? 깨진 URL을 보여주는 링크는 어디에 저장되어 있습니까? 누가 썼습니까? 해당 링크가 잘못 작성된 것 같습니다.
Patrick

아니요하지만 내 파일 중 하나에 연결을 시도했습니다. 여기에 설정되어 있습니다. 감사합니다!
user3638431 2014 년

해결책을 찾은 경우 나중에 참조 할 수 있도록 자신의 질문에 답하십시오. :)
Patrick

Ok 그래서 내가 한 일은 Patrick의 조언을 받았지만 대신 localhost : 8080 / ProjectFilename을 입력하고 마침내 내 프로젝트에 액세스했습니다. 내 문제는 여전히 남아 있지만 해결 방법을 찾았습니다.
user3638431 2014 년

글쎄, 나는 당신의 링크 (당신이 클릭하는 것)가 잘못 쓰여졌다 고 생각합니다. 링크에 액세스하는 방법에 대해 더 많은 정보를 제공 할 수 있다면 링크를 '클릭'하기 전에 어디에 기록되어 있습니까? 추가로 도움을 드릴 수 있습니다
Patrick

답변:


157

WampServer에서 가상 호스트를 만드는 방법


WAMPServer 3는이 과정을 훨씬 쉽게 만들어줍니다!

WAMPServer의 일부로 제공되는 유틸리티에서 거의 모든 작업을 수행 할 수 있습니다.

  • project.site를 포함 할 폴더를 내부에 만듭니다. 이것은 C:\wamp\www\디렉토리 아래에 있거나 C:\websites.

  • EG를 선택한 위치 C:\websites\project1\www또는 아래에 폴더를 만듭니다 .c:\wamp\www\project1\www

  • 이제 localhost를 열고 홈페이지의 TOOLS 섹션 아래 wampmanager->localhost에있는 링크를 클릭하십시오 Add a Virtual Host.

다음과 같은 페이지가 표시됩니다.

여기에 이미지 설명 입력

  • 각 필드 위의 지침에 지정된대로 필드를 채우십시오.

  • 가상 호스트 구성이 생성됩니다.

  • 이제 DNS 캐시를 다시 시작해야합니다. 이와 같은 wampmanager 메뉴에서이 작업을 수행 할 수 있습니다 right click wampmanager->Tools->Restart DNS. DNS 캐시가 다시 시작되고 Apache도 중지되고 다시 시작됩니다. wampmanager 아이콘이 다시 녹색으로 바뀌면 모든 것이 완료된 것입니다.

  • 이제 간단한 index.php파일을 만들 거나 위에서 만든 폴더에 사이트를 설치해야합니다.

  • VH가 호출되었다고 가정하면 WAMPServer 홈페이지 의 가상 호스트 섹션 project.dev에서 해당 이름을 볼 수 있습니다.

  • 이 메뉴에서 사이트를 시작하거나 주소 표시 줄 EG project1.dev및 사이트 shoudl 시작 에서 새 도메인 이름을 사용할 수 있습니다 .


이전 WAMPServer 2.5 메커니즘 또는 모든 것을 수동으로 수행하려는 경우

WampServer 2.5 이상에서 개념이 변경되었으며이 변경에 대한 좋은 이유가 있습니다!

WampServer에서는 이제 프로젝트를 \wamp\www\subfolder구조로 유지하더라도 각 프로젝트에 대한 가상 호스트를 만드는 것이 강력히 권장됩니다 .

가상 호스트 문서

가상 호스트 예

WampServer 홈 페이지 ( \wamp\www\index.php)는 이제 모든 프로젝트에 대해 가상 호스트를 만들었을 것으로 예상하므로 그렇게하는 경우에만 제대로 작동합니다.

역사

WampServer를 사용하는 초보자가 PHP Apache와 MySQL을 배우기 위해 더 쉽게 사용할 수 있도록 폴더 아래에 하위 폴더를 만드는 것이 좋습니다 \wamp\www\.

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

이러한 하위 폴더는 WampServer 홈페이지의 'Your Projects'라는 메뉴 아래에 링크로 표시되며 이러한 링크에는 localhost/subfoldername.

간단한 자습서에만 허용됨

이것은 완전한 초보자의 삶을 편하게 만들었고, 예를 들어 PHP 코딩을 배우기 위해 튜토리얼을 따르는 사람들에게 완벽하게 허용되었습니다. 그러나 나중에 라이브 호스팅 서버에 복사하려는 실제 웹 사이트를 개발할 때 사용하기위한 것이 아닙니다. 실제로이 메커니즘을 사용했다면 라이브 사이트 구성이 개발 구성과 일치하지 않기 때문에 종종 문제가 발생했습니다.

실제 웹 사이트 개발 의 문제 .

그 이유는 물론 wamp의 기본 DocumentRoot 설정이

DocumentRoot "c:/wamp/www/"

하위 폴더의 이름에 관계없이. 구조 또는 사이트를 쿼리하는 PHP 코드를 자주 사용하는이 문서는 개발 WampServer에서 실행할 때 다른 정보를 수신했으며 라이브 호스팅 서버에서 실행할 때 수신 할 정보와 다른 정보를 받았습니다. 여기서 DocumentRoot 구성은 웹 사이트 상단의 폴더를 가리 킵니다. 파일 계층. 이러한 종류의 코드는 많은 프레임 워크 및 CMS (예 : WordPress 및 Joomla 등)에 존재합니다.

예를 들어

project1이라는 프로젝트가 유지되고 wamp\www\project1잘못 실행 되었다고 가정 해 보겠습니다.localhost/project1/index.php

문제의 일부 PHP 명령에서보고되는 내용은 다음과 같습니다.

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

이제 가상 호스트 정의를 사용하여 해당 사이트를 올바르게 정의 http://project1하고 WAMPServer 개발 사이트의 결과가 라이브 호스팅 환경에서 수신 된 결과와 일치하므로 이를 실행했습니다 .

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

이제이 차이는 처음에는 사소 해 보일 수 있지만 예를 들어 WordPress와 같은 프레임 워크 또는 Joomla와 같은 CMS 중 하나를 사용하는 경우 사이트를 라이브 서버로 이동할 때 문제가 발생할 수 있으며 문제가 발생할 수 있습니다.

WampServer에서 가상 호스트를 만드는 방법

실제로 이것은 기본적으로 모든 wndows Apache 서버에서 동일하게 작동해야하며 Apache 구성 파일을 찾을 수있는 위치에서만 차이가 있습니다.

Apache에서 첫 번째 가상 호스트를 만드는 데는 3 단계가 있으며 이미 정의 된 경우 2 단계 만 있습니다.

  1. 가상 호스트 정의 만들기
  2. HOSTS 파일에 새 도메인 이름을 추가하십시오.
  3. 가상 호스트 정의 파일을 포함하는 httpd.conf의 행의 주석 처리를 제거하십시오.

1 단계 , 가상 호스트 정의 생성

httpd-hosts.confWampServer가 있는 파일을 편집하십시오 .

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

(Apache 버전 번호는 다를 수 있으므로 계속하기 전에 두뇌를 사용하십시오)

이 파일을 처음으로 편집하는 경우 기본 예제 코드를 제거하면 아무 소용이 없습니다.

나는 우리가 살고있는 project1이라는 사이트에 대한 정의를 만들고 싶다고 가정하고 있습니다.

\wamp\www\project1

매우 중요한 것은 먼저 localhost가 여전히 작동하는지 확인해야이 파일에 넣을 첫 번째 VHOST 정의가됩니다.

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

이제 프로젝트를 정의합니다. 물론 새 프로젝트를 시작할 때 각 프로젝트에 대해 수행합니다.

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

참고 : 각 가상 호스트는 자체적으로 DocumentRoot정의됩니다. 가상 호스트 정의에 추가 할 수있는 다른 많은 매개 변수도 있습니다. Apache 문서를 확인하십시오.

옆으로 작은

가상 호스트가 Apache에서 작동하는 방식 :이 파일의 첫 번째 정의도 기본 사이트가되므로 브라우저에서 사용되는 도메인 이름이 실제로 정의 된 가상 호스트 도메인과 일치하지 않으면 localhost가 파일의 첫 번째 도메인이됩니다. 해킹 시도가 IP 주소를 사용하는 경우로드되는 사이트입니다. 따라서이 도메인에 대한 Apache 보안 이 항상 다음으로 설정되어 있는지 확인하면

Require local

외부 주소에서 발생한 임의의 해킹은 오류를 수신하고 PC에 들어 가지 않지만 도메인 철자를 잘못 입력하면 WampServer 홈페이지가 표시됩니다. WampServer와 동일한 PC를 사용하고 있기 때문 local입니다.

2 단계 :

HOSTS 파일에 새 도메인 이름을 추가하십시오. 이제 가상 호스트 정의에서 사용한 도메인 이름을 HOSTS 파일에 추가하여 Windows에서 찾을 위치를 알 수 있도록해야합니다. 이것은 DNS A 레코드를 만드는 것과 비슷하지만이 경우이 특정 PC에서만 볼 수 있습니다.

편집하다 C:\windows\system32\drivers\etc\hosts

파일에는 확장자가 없으며 그대로 유지해야합니다. .txt더 나은 편집기가없는 경우 확장 프로그램을 추가 할 수 있으므로 메모장을주의하십시오 . 무료이며 아주 좋은 편집기 인 Notepad ++를 다운로드하는 것이 좋습니다.

또한 이것은 보호 된 파일이므로 관리자 권한으로 편집해야하므로 관리자 권한으로 실행 메뉴 옵션을 사용하여 편집기를 시작 하십시오 .

이러한 편집을 완료하면 호스트 파일이 다음과 같아야합니다.

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Apache가 이제 IPV6을 인식하고 브라우저가 IPV4 또는 IPV6 또는 둘 다를 사용하므로 여기에 IPV4 루프백 주소 127.0.0.1및 IPV6 루프백 주소에 대한 정의가 ::1있어야합니다. 어떤 것을 사용할지 결정하는 방법은 모르겠지만 IPV6 스택이 켜져 있고 대부분의 윈도우 OS가 XP SP3에서 작동하는 경우 둘 중 하나를 사용할 수 있습니다.

이제 Windows에 도메인 이름 캐시를 새로 고치도록 지시해야하므로 관리자 권한으로 실행 메뉴 옵션을 다시 사용하여 명령 창을 다시 시작 하고 다음을 수행하십시오.

net stop dnscache
net start dnscache

이렇게하면 창에서 도메인 이름 캐시를 지우고 다시로드합니다. 다시로드하면 HOSTS 파일을 다시 읽으므로 이제 도메인에 대해 알게됩니다 project1.

3 단계 : 가상 호스트 정의 파일을 포함하는 httpd.conf의 행의 주석 처리를 제거하십시오.

httpd.conf를 편집하고 wampmanager.exe 메뉴를 사용하여 올바른 파일을 편집하는지 확인하십시오.

httpd.conf에서이 줄을 찾으십시오.

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

그리고 #그 줄의 주석을 제거하려면 제거하십시오 .

Apache를 실행하는 경우이 변경 사항을 활성화하려면 이제 Apache 서비스를 중지했다가 다시 시작해야합니다.

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

이제 시스템 트레이의 WAMP 아이콘이 다시 녹색으로 바뀌지 않으면 \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conf파일에 문제가있는 것입니다 .

그렇다면 여기에 무엇이 잘못되었는지 알아낼 수있는 유용한 메커니즘이 있습니다. Apache exe (httpd.exe)의 기능을 사용하여 구성 파일을 확인하고 파일 이름과 줄 번호로 오류를보고합니다.

명령 창을 시작하십시오.

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

따라서 오류를 수정하고 출력을 얻을 때까지 다시 테스트하십시오.

Syntax OK

이제 한 가지 더 있습니다.

wampmanager 메뉴 시스템에는 실제로 2 개의 새로운 메뉴 항목이 있습니다. 기본적으로 켜져있는 '내 프로젝트' 라는 이름 입니다. 그리고 기본적으로 활성화되지 않는 'My Virtual Hosts' 라는 두 번째 항목 입니다.

'내 프로젝트'는 \ wamp \ www 디렉토리의 모든 하위 디렉토리를 나열하고 해당 하위 디렉토리에서 사이트를 시작할 수있는 링크를 제공합니다. 앞서 말했듯이 'localhost / project1'이 아닌 'project1'을 시작하므로 링크가 작동하도록하려면이 링크가 실제로 브라우저에서 해당 사이트를 시작하도록 가상 호스트 정의를 만들어야합니다. 가상 호스트 정의 없이는 사이트 이름에 대한 웹 검색을 키워드로 시작하거나 사이트를 찾을 수 없음 조건을 반환합니다.

'내 가상 호스트'메뉴 항목은 약간 다릅니다. 가상 호스트를 정의하는 데 사용되는 파일을 검색하고 (우리는 잠시 후에 다룰 것입니다) 찾은 각 ServerName 매개 변수에 대한 메뉴 링크를 만들고 각각에 대한 메뉴 항목을 만듭니다. \ wamp \ www 폴더의 하위 디렉토리에 대한 가상 호스트 정의를 생성하면 일부 항목이 '내 프로젝트'메뉴와 '내 가상 호스트'메뉴 모두에 표시되므로 약간 혼란스러워 보일 수 있습니다.

다른 '내 가상 호스트'메뉴를 켜려면 어떻게해야합니까?

  • 실수 할 경우를 대비하여 \ wamp \ wampmanager.tpl 파일의 백업을 만드십시오. 매우 중요한 파일입니다.
  • \ wamp \ wampmanager.tpl을 편집합니다.
  • 이 매개 변수 ;WAMPPROJECTSUBMENU는 '[Menu.Left]'섹션에서 찾습니다.
  • 매개 변수 ;WAMPVHOSTSUBMENU앞이나 뒤에이 새 매개 변수 를 추가하십시오 ;WAMPPROJECTSUBMENU.
  • 파일을 저장하십시오.
  • 이제 wampmanager 아이콘을 마우스 오른쪽 버튼으로 클릭하고 '새로 고침'을 선택하십시오. 메뉴가 추가되지 않으면 '종료'하고 wampmanager를 다시 시작하십시오.

참고 사항 새 메뉴는 이미 일부 가상 호스트를 정의한 경우에만 나타납니다! 그렇지 않으면 VHOST를 정의 할 때까지 차이가 ​​없습니다.

이제 이것을 논리적 확장으로 가져 가면

이제 \wamp\VHOST 정의에서 DocumentRoot 매개 변수를 변경 하여 웹 사이트 코드를 폴더 구조 외부로 완전히 이동할 수 있습니다 . 예를 들어 다음과 같이 할 수 있습니다.

Wamp 디스크 또는 다른 디스크에 폴더를 만듭니다 (네트워크 드라이브에주의하세요. 조금 더 복잡합니다)

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

이제 사이트 코드를 복사하거나 \websites\example.com\www폴더 에서 생성을 시작 하고 다음과 같이 VHOST를 정의합니다.

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

그런 다음이 새 개발 도메인을 HOSTS 파일에 추가합니다.

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

참고 : 실제 도메인 이름과 동일한 ServerName 또는 ServerAlias를 사용하는 것은 좋은 생각이 아닙니다. example.com을 ServerName으로 사용한 것처럼 더 이상 여기에서 실제 라이브 사이트로 이동할 수 없음을 의미하기 때문입니다. PC는 example.com을 127.0.0.1, 즉 인터넷이 아닌이 PC로 연결합니다.

또한 : VHOST 정의 내에서 인터넷에서이 사이트에 액세스 할 수 있도록 허용했습니다.이 변경 사항은이 사이트에만 적용되며 다른 사이트에는 적용되지 않습니다. 클라이언트가 라이브 서버에 복사하지 않고도 한 시간 정도 변경 사항을 볼 수 있도록하는 데 매우 유용합니다. 이것은 wampmanager의 온라인 / 오프라인 메뉴 항목을 사용하는 대신이 액세스를 켜고 끄려면이 파일을 수동으로 편집해야 함을 의미합니다.

또한 PHP 구성에 몇 가지 수정 사항을 추가했습니다. 다시 한 번이 사이트에만 적용됩니다. 유지 관리하는 다른 모든 사이트와 달리 특정 요구 사항이있는 사이트를 유지 관리 할 때 매우 유용합니다. 사용 된 매개 변수에서 어딘가에 오래 실행되는 페이지가 있고 매우 잘못 작성되었으며 페이지를 끔찍하게 엉망으로 만들지 않고 브라우저에 오류가 표시되면서 실행되지 않을 것이라고 가정 할 수 있다고 생각합니다. 이런 사이트가 존재하고 사람들은 여전히 ​​사이트가 나쁘게 유지되기를 원한다고 믿으십시오 . 그러나 이는 WampServer에서 실행되는 모든 가상 사이트가 아닌이 특정 사이트에 대해서만 이러한 매개 변수를 변경해야 함을 의미합니다.


매우 도움이됩니다. 이것은 정말로 받아 들여지는 대답이어야합니다. 매우 유익하며 제대로 따라 가면 약 10 분 안에 작동 할 수 있습니다. 훌륭한 조언. 하지만 한 가지 빠른 요점. .htaccess : Invalid command 'RewriteEngine'오류가 발생했습니다. Apache Modules 메뉴에서 rewrite_module을 선택해야했습니다. 누군가 내가 이것을해야하는 이유에 대해 대답 할 수 있습니까?
Chris

1
@Chris Apache의 rewrite_module은 실제로 재 작성 엔진을 제공하는 코드입니다. 그것 없이는 아파치가 URL 재 작성을 수행하는 방법을 모릅니다. Basicaly 아파치의 핵심하지만 더 나은 설명의 부족을위한 부가 기능의 그것의 일부가 아닌
RiggsFolly

"WampServer의 경우 \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf에있는 httpd-hosts.conf 파일을 편집하십시오."wampserver 2.5를 새로 설치하면이 파일이 존재하지 않습니다. httpd-vhosts.conf를 의미했다면 수정하십시오.
bcsteeve 2015 년

2
@ starleaf1 당신은 우리의 명령입니다! 실행 localhost/add_vhost.phpWAMPServer 3, 체크 아웃 WAMPServers 포럼이 게시물
RiggsFolly

1
자세한 설명에 대해 이야기하십시오! right click wampmanager -> Tools -> Restart DNS새로운 가상 호스트를 추가 한 후 트릭을 수행했지만 여전히 작동하지 않는 이유를 이해하지 못한 경우 +1 .
Paesano2000

74

이것이 최선의 해결책이라고 생각합니다.

www 폴더에서 index.php를 열고 설정

30 행 변경 :$suppress_localhost = true;

...에 $suppress_localhost = false;

이렇게하면 프로젝트가 로컬 호스트 IP / 이름으로 접두사로 지정됩니다.


1
감사! 문제를 해결했지만 / icons 경로의 아이콘 / 이미지가 blank.git, back.gif, folder.gif를 찾을 수 없음을 표시하지 않습니다. 이것에 대한 해결책도 있습니까?
Shubham Badal 2014

3
예, 각 사이트에 대해 가상 호스트를 만듭니다. 방법은 위의 답변을 참조하십시오.
RiggsFolly 2014

1
이제 wampmanager의 간단한 메뉴 옵션이 있습니다 (WAMPSERVER 3). 정말 나쁜 생각이 무엇인지 이해하지 못하는 경우이를 수행 할 수 있습니다. right click wampmanager->Wamp Settings->Add localhost to url이것에 대한 유일한 좋은 점은 처음에 그것이 얼마나 나쁜 생각 이었는지 깨달았을 때 쉽게 다시 끌 수 있다는 것입니다!
RiggsFolly


11

홈페이지에서 프로젝트에 액세스하려면 먼저 가상 호스트 를 만들어야합니다 .

이를 수행하는 가장 쉬운 방법은 Wamp의 가상 호스트 추가 유틸리티를 사용하는 것입니다.

다음 단계를 따르십시오.

  1. 내부에 폴더를 만듭니다 : "\ WAMP \ www가 \ C" 디렉토리 및 예에 대한 귀하의 사이트에 부여 할 것을 그것을 이름을 지정합니다. ' mysite '. 따라서 경로는 "C : \ wamp \ www \ mysite" 입니다.
  2. 이제 브라우저에서 localhost의 홈페이지를 열고 도구 메뉴 에서 가상 호스트 추가 링크를 클릭하십시오.
  3. 가상 호스트 의 이름을 입력합니다.이 이름은 www 디렉토리 (예 : ' mysite ') 내에 생성 한 폴더의 이름이어야합니다 .
  4. 입력 절대 경로 가상 호스트, 즉의 "C를 : \ WAMP \ www가 \ 내 사이트 \" 따옴표없이 말하는 아래의 버튼을 클릭하여 '시작 가상 호스트의 창조' .
  5. 가상 호스트가 생성되었으므로 이제 'DNS 다시 시작' 만하면 됩니다. 이렇게하려면 Wamp 서버의 트레이 메뉴 아이콘을 마우스 오른쪽 버튼으로 클릭하고 도구> DNS 다시 시작을 클릭 한 다음 트레이 메뉴 아이콘이 다시 녹색이되도록합니다.
  6. 모든 설정! 이제 "C : \ wamp \ www \ mysite \" 디렉토리 안에 'index.php' 페이지를 만드십시오 . 'index.php' 파일에 다음과 같은 코드를 추가하십시오.
    <?php echo "<h1>Hello World</h1>"; ?>

이제 localhost의 홈페이지에서 프로젝트에 액세스 할 수 있습니다. 프로젝트 링크를 클릭하면 화면에 'Hello World'가 인쇄됩니다.


1
나는 동일한 문제가 있었고 작동했기 때문에 이것이 허용되는 awnser라고 생각합니다!
Nmaster88

1
이것은 최신이고 완벽하며 나를 위해 일했습니다. 감사 . 위의 답변 중 일부는 길고 구식입니다.
Junaid

2
2017 년 4 월 18 일 현재 승인 된 답변이어야합니다. 나를 위해 완벽하게 작동했습니다.
rolo

이것은 효과가 있었지만 내가 만든 프로젝트 폴더 중 하나에 대한 가상 호스트 (예 : 예제)가 'Your Projects'제목 아래의 예제를 링크로 변경하지 않았습니다. 왜 이럴까요?
Krys

프로젝트 폴더가 검은 색 텍스트에서 http 링크로 바뀌지 않는 문제가있는 경우 다음과 같은 빠른 방법으로 활성화했습니다. wamp / www /에서 index.php를 열고 152 행에 문자열을 복사합니다. <li> <a href = " '. str_replace ('. conf ',' ', $ file).'/"> '. str_replace ('. conf ',' ', $ file).'</a> </ li> 및 교체 문자열 <li>. $ file. </ li> 359 번 라인. hey presto!
Krys

2

깨진 아이콘 링크를 수정하는 방법 (blank.gif, text.gif 등)

아쉽게도 앞서 언급했듯이 단순히 가상 호스트를 프로젝트에 추가하는 것만으로는 깨진 아이콘 링크가 수정되지 않습니다.

문제 :

WAMP / Apache는 아이콘에 대한 디렉토리 참조를 각 설치 디렉토리로 변경하지 않습니다. 정적으로 "c : / Apache24 / icons"로 설정되어 있으며 Apache 설치 사용자의 99.9 %가 여기에 상주하지 않습니다. 특히 WAMP에서.

수정 사항 :

  1. Apache 아이콘 디렉토리를 찾으십시오! 일반적으로 "c : /wamp/bin/apache/apache2.4.9/icons"에 있습니다. 그러나 마일리지는 설치에 따라 다를 수 있으며 Apache 버전이 다른 경우 경로도 다를 수 있습니다. \

  2. 좋아하는 편집기에서 httpd-autoindex.conf를 엽니 다. 이 파일은 일반적으로 "C : \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf"에서 찾을 수 있습니다. 다시 말하지만, Apache 버전이 다른 경우이 경로도 다릅니다.

  3. 다음 정의를 찾습니다 (일반적으로 파일 상단 근처에 있음).

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. "c : / Apache24 / icons /"디렉토리를 자신의 디렉토리로 바꾸십시오. 중요 첫 번째 디렉토리 참조에는 후행 슬래시가 있어야합니다. 두 번째 디렉토리 참조에는 후행 슬래시가 없어야합니다. 결과는 다음과 유사해야합니다. 다시 말하지만 디렉토리는 다를 수 있습니다.

    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. Apache 서버를 다시 시작하고 멋진 아이콘을 즐기십시오!


보다 일반적인 솔루션은 WAMPServer 3 이전 버전에서 로 변경하는 AliasAlias /icons/ "icons/"입니다. WAMPServer 3 이상에서는 이것이 기본값이며 변경할 필요가 없습니다.
RiggsFolly

2

@RiggsFolly의 모든 단계를 따를 수 있습니다. 정말 좋은 대답입니다.

그래도 문제가 있으면이 방법을 사용하세요.

  1. 설치 한 wamp 폴더 (예 : c : / Wamp /)를 찾습니다.
  2. Goto Wamp / www /
  3. index.php 파일 열기
  4. 이 코드 찾기 $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. http : // 뒤에 localhost를 추가하여 수정하십시오. $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. WAMP 서버 다시 시작
  7. localhost 열기 업데이트 된 링크보기

이전 버전의 wamp 서버와 같은 URL을 얻으 셨기를 바랍니다.


우리가 xampp를 위해 그것을 괭이에 제안 해 주시겠습니까? 내가 XAMPP 홈페이지로 여전히 내 사이트 리디렉션을 모든 방법을 시도
Sushivam

1
$suppress_localhost = false;

이것은 나를 위해 트릭을했습니다.


1

이것은 Wamp 3+에서 작동합니다.

  • wamp 폴더로 이동 (wamp / 또는 wamp64 /)
  • wampmanager.conf를 엽니 다.
  • urlAddLocalhost 매개 변수를 찾아 다음과 같이 설정하십시오. urlAddLocalhost = "on"

www 폴더에서 index.php를 조정할 필요가 없습니다.


0

Re : Wampserver LocalHost 링크가 제대로 작동하지 않습니다.
이것은 Wampserver2.5를 사용하는 2014 년 6 월 현재입니다 (나중 빌드에서이 문제를 해결할 수 있음).
참고 : LocalHost 대신 LocalHost : 8080을 사용하려면 아래에 언급 된 편집에서 적절하게 변경하십시오.

이 문제에는 두 가지 측면이 있습니다
. 첫 번째는 Wamp localhost 홈페이지의 "Your Projects"아래 항목에 액세스 할 수 있다는 것입니다.
두 번째는 Wampserver 아이콘 작업 표시 줄의 "내 프로젝트"목록에 나열된 항목에 올바르게 액세스 할 수있는 것입니다.

첫 번째 문제를 수정하려면 (Wamp localhost 홈페이지의 "Your Projects"아래 항목에 액세스 할 수 있도록) 다음을 수행해야합니다.

wamp \ www 폴더 (일반적으로 C : \ wamp \ www)에있는 index.php 파일에서 수정 해야하는 2 가지 사항 이 있습니다.

1) 30 행 변경

  $suppress_localhost = true;

...에

  $suppress_localhost = false;

2) 338 번 라인 변경

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

...에

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

위의 편집을 한 후-Wampserver가 실행중인 경우 로컬 호스트 페이지를 새로 고치면 변경 사항이 즉시 적용됩니다.

두 번째 항목을 수정하려면 (Wampserver 아이콘 작업 표시 줄의 "내 프로젝트"목록) : C : \ wamp \ scripts \ refresh.php를 편집해야합니다.

651 줄을 찾아 다음과 같은 줄의 섹션을 변경하십시오.

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

...에

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

두 번째로 변경 한 후에는 Wamp 아이콘 트레이 앱의 맨 아래에있는 온라인 / 오프라인 옵션을 토글하여 Wampserver가 "내 프로젝트"목록을 새로 고치도록해야 할 수 있습니다.


굉장한 친구, 마침내 작동하는 것! (wamp localhost 페이지에서 사이트 작동을 만드는 iis jacking port 80을 돌기 위해)
Cammy

-1
  1. wamp 서버 아이콘이 녹색인지 아닌지 확인하십시오. 녹색이면 작동하는 것입니다. 다음 단계에 따라 수행해야합니다.

    ㅏ. 대부분의 경우 skype와 같은 일부 소프트웨어는 wamp에서 사용하는 동일한 포트 (80)를 사용하기 때문에 모든 프로그램은 wamp를 실행하기 전에 닫아야합니다.

    비. 스카이프의 포트를 변경할 수 있습니다 : 도구 -s-> oprions-> 고급-> 연결 해제 포트 80 사용

  2. 작동합니다 wamp를 다시 시작하십시오.

SECOND 케이스

  1. loalhost에서 프로젝트를 클릭하면 프로젝트 이름 앞에 localhost가 표시되지 않으며 wamp가 작동하지 않는 것처럼 보이기 때문에 한 가지 작업 만 수행하면됩니다.

    . wamp index.php 파일로 이동하여 $ suppress_localhost = false; $ suppress_localhost = true에서; 또는 그 반대로 시도하십시오.


-1

www 디렉토리 (wamp 서버를 사용하는 경우) htdocs (XAMPP의 경우)로 이동합니다. admin.php를 열고 프로젝트 내용을 검색하거나 339 행으로 직접 이동하여 링크를 변경하고 'local host to the link.

작동합니다 ,,


-1

프로젝트별로 로컬 하위 도메인을 만들고 이름으로 여러 사이트를 제공하도록 Apache에 알리는 것이 (허용 된 답변보다) 훨씬 쉽다는 것을 알았습니다.

예를 들어 http : //mysite.localhostc:/wamp64/www/sites/mysite 에서 액세스 할 수 있도록에서 프로젝트를 만들었다 고 가정 해 보겠습니다 . 다음을 수행하면됩니다.

다른 이름에 대답하기 위해 컴퓨터에게 1 추가 127.0.0.1 mysite.localhostC:\windows\system32\drivers\etc\hosts

2. DNS 캐시 플러시 관리자 권한으로 명령 프롬프트를 열고를 입력 net stop dnscache한 다음 net start dnscache.

3. 아파치에게 찾을 곳을 알려줍니다 트레이에서 Wamp 아이콘을 클릭하고 Apache-> httpd.conf로 이동 한 다음 끝에 다음을 추가합니다.

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

( 출처 )

4. Apache 다시 시작 트레이에서 Wamp 아이콘을 클릭하고 "다시 시작"을 선택합니다.

5. 기본 URL을 정의 합니다. 프로젝트 폴더로 이동 <base href="http://mysite.localhost" />하여<head> 섹션에 하여 서버 루트에 대한 / links가 손상되지 않도록합니다.

개인적으로 저는이 html 코드를 PHP (같은 것 $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;)를 사용하여 템플릿에 동적으로 삽입 하므로 프로덕션에서 한 번 제거 할 필요가 없습니다.


-3

안녕하세요, wamp 서버에서 index.php를 열고 $ suppress_localhost = false로 변경해야합니다. $ suppress_localhost = true에서; 그럼 당신의 wamp는 잘 작동합니다


2
정확히 이것을 말하는 많은 답변이 있습니다.
Vael Victus 2015

1
그렇다면 당신은 아무것도 기부하지 않았습니다.
Vael Victus 2015
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.