Linki projektu nie działają na Wamp Server


85

Instaluję serwer Wamp na innym komputerze, aby uruchomić średniej wielkości bazę danych i interfejs użytkownika. Udało mi się zablokować IIS i skierować serwer do Localhost: 8080. Ale kiedy próbuję uzyskać dostęp do moich projektów ze strony domowej hosta lokalnego, w pliku www; Zostałem przekierowany do błędu Nie znaleziono strony.

Kiedy najeżdżam na linki, katalog zawsze pojawia się „http: // ProjectFolderNameHere /”. kiedy ma to być „http: // LocalHost: 8080 / ProjectFolderNameHere /”. Co mogę zrobić, aby linki działały poprawnie?

Mój komputer działa na 64-bitowym systemie Windows 7 Home Edition, a IIS firmy Microsoft jest już wyłączone.


Czy możesz uzyskać dostęp do localhost: 8080 / index.html (zakładając, że go masz)? Gdzie są przechowywane linki, które pokazują te uszkodzone adresy URL? Kto je napisał? Wygląda na to, że te linki są po prostu źle napisane.
Patrick

Nie Ale próbowałem połączyć się z jednym z moich plików, wszystko ustawione tutaj, dziękuję!
user3638431

Jeśli znalazłeś rozwiązanie, odpowiedz na własne pytanie do wykorzystania w przyszłości :)
Patrick

Ok, więc skorzystałem z rady Patricka, ale zamiast tego wpisałem localhost: 8080 / ProjectFilename i wreszcie uzyskałem dostęp do mojego projektu. Mój problem nadal istnieje, ale znalazłem sposób, aby go obejść.
user3638431

Uważam, że Twoje linki (te, które klikasz) są źle napisane. Gdybyś mógł rzucić więcej światła na to, jak dotrzeć do tych linków, gdzie są one napisane, zanim je „klikniesz”, mógłbym pomóc dalej
Patrick

Odpowiedzi:


157

Jak stworzyć wirtualnego hosta w WampServer


WAMPServer 3 znacznie ułatwił ten proces!

Możesz zrobić prawie wszystko z narzędzia dostarczonego jako część WAMPServer.

  • Utwórz folder wewnątrz, aby pomieścić projekt.site. Może to być w C:\wamp\www\katalogu lub w całkowicie oddzielnym folderze, takim jak C:\websites.

  • Utwórz folder w lokalizacji, którą wybrałeś EG C:\websites\project1\wwwlub podc:\wamp\www\project1\www

  • Teraz otwórz localhost wampmanager->localhosti kliknij link Add a Virtual Hostw sekcji NARZĘDZIA na stronie głównej.

Zobaczysz taką stronę:

wprowadź opis obrazu tutaj

  • Wypełnij pola zgodnie z instrukcjami powyżej każdego pola

  • Konfiguracja Virtual Host zostanie utworzona dla Ciebie.

  • Teraz musisz ponownie uruchomić pamięć podręczną DNS. Możesz to zrobić z menu wampmanagera w ten sposób right click wampmanager->Tools->Restart DNS. Pamięć podręczna DNS zostanie zrestartowana, a następnie Apache również zostanie zatrzymany i uruchomiony ponownie. Gdy ikona wampmanagera znów zmieni kolor na zielony, wszystko jest zakończone.

  • Teraz musisz utworzyć prosty index.phpplik lub zainstalować witrynę w folderze utworzonym powyżej.

  • Zakładając, że Twój VH został wywołany, project.devpowinieneś zobaczyć tę nazwę w sekcji Your Virtual Hosts na stronie głównej WAMPServer.

  • Możesz uruchomić witrynę z tego menu lub po prostu użyć nowej nazwy domeny w pasku adresu EG project1.devi strona powinna zostać uruchomiona.


Stary mechanizm WAMPServer 2.5 lub jeśli chcesz to wszystko zrobić ręcznie

Nastąpiła zmiana koncepcji w WampServer 2.5 i nowszych i nie bez powodu!

W WampServer MOCNIE zachęca się teraz do tworzenia wirtualnego hosta dla każdego projektu, nawet jeśli trzymasz go w \wamp\www\subfolderstrukturze.

Dokumentacja wirtualnych hostów

Przykłady hostów wirtualnych

Strona główna WampServer ( \wamp\www\index.php) oczekuje teraz, że utworzyłeś Virtual Host dla wszystkich swoich projektów i dlatego będzie działać poprawnie tylko wtedy, gdy to zrobisz.

Historia

Aby ułatwić życie początkującym użytkownikom korzystającym z WampServer do nauki PHP, Apache i MySQL, zaproponowano utworzenie podfolderów w \wamp\www\folderze.

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

Te podfoldery były następnie wyświetlane jako łącza na stronie głównej WampServer w menu o nazwie „Twoje projekty”, a łącza te zawierałyby łącze do localhost/subfoldername.

Dopuszczalne tylko w przypadku prostych samouczków

Ułatwiło to życie zupełnie początkującym i było całkowicie akceptowalne, na przykład dla tych, którzy uczą się kodowania PHP. Jednak nigdy nie był przeznaczony do użytku podczas tworzenia prawdziwej witryny internetowej, którą chciałbyś później skopiować na swój serwer na żywo. W rzeczywistości, jeśli używałeś tego mechanizmu, często powodował to problemy, ponieważ konfiguracja aktywnych witryn nie pasowała do konfiguracji programistycznej.

Problem z prawdziwym rozwojem strony internetowej.

Powodem tego jest oczywiście to, że domyślne ustawienie DocumentRoot dla wamp to

DocumentRoot "c:/wamp/www/"

niezależnie od tego, jak nazywa się twój podfolder. To rozwiązanie, które często używało kodu PHP, który sprawdzał strukturę lub twoją witrynę, otrzymywał inne informacje podczas uruchamiania na twoim deweloperskim WampServer niż te, które otrzymywałby podczas uruchamiania na żywym serwerze hostowanym, gdzie konfiguracja DocumentRoot wskazuje na folder u góry strony internetowej hierarchia plików. Ten rodzaj kodu istnieje w wielu frameworkach i systemach CMS, na przykład WordPress i Joomla itp.

Na przykład

Powiedzmy, że mamy projekt o nazwie project1, który jest wstrzymany wamp\www\project1i działa niepoprawnie jakolocalhost/project1/index.php

Oto, co zostanie zgłoszone przez niektóre z omawianych poleceń PHP:

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

Teraz, gdybyśmy poprawnie zdefiniowali tę witrynę przy użyciu definicji hosta wirtualnego i uruchomili ją, ponieważ http://project1wyniki w witrynie deweloperskiej WAMPServer będą zgodne z wynikami otrzymanymi w środowisku hostowanym na żywo.

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

Na początku ta różnica może wydawać się banalna, ale jeśli użyjesz frameworka takiego jak WordPress lub jeden z CMS, na przykład Joomla, może to powodować problemy podczas przenoszenia witryny na serwer działający.

Jak stworzyć wirtualnego hosta w WampServer

Właściwie powinno to działać w zasadzie tak samo dla każdego serwera Windows Apache, z różnicami tylko w tym, gdzie można znaleźć pliki konfiguracyjne Apache.

Istnieją 3 kroki, aby utworzyć swój pierwszy wirtualny host w Apache i tylko 2, jeśli już go zdefiniowałeś.

  1. Utwórz definicję hosta wirtualnego
  2. Dodaj nową nazwę domeny do pliku HOSTS.
  3. Usuń komentarz z wiersza w pliku httpd.conf, który zawiera plik definicji Virtual Hosts.

Krok 1 , Utwórz definicję wirtualnego hosta

Edytuj plik o nazwie, w httpd-hosts.confktórym znajduje się WampServer

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

(Numery wersji Apache mogą się różnić, przed kontynuowaniem należy zaangażować mózg)

Jeśli jest to pierwsza edycja tego pliku, usuń domyślny przykładowy kod, nie będzie on przydatny.

Zakładam, że chcemy utworzyć definicję witryny o nazwie project1, w której żyje

\wamp\www\project1

Bardzo ważne, najpierw musimy upewnić się, że localhost nadal działa, więc jest to pierwsza definicja VHOST, którą umieścimy w tym pliku.

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

Teraz definiujemy nasz projekt: i oczywiście robisz to dla każdego ze swoich projektów, rozpoczynając nowy.

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

UWAGA: że każdy wirtualny host jest DocumentRootzdefiniowany samodzielnie . Istnieje również wiele innych parametrów, które możesz dodać do definicji Virtual Hosts, sprawdź dokumentację Apache.

Mały na bok

Sposób działania hostów wirtualnych w Apache: Pierwsza definicja w tym pliku będzie również domyślną witryną, więc jeśli nazwa domeny używana w przeglądarce nie będzie pasować do żadnej faktycznie zdefiniowanej domeny hostowanej wirtualnie, uczynienie localhost pierwszą domeną w pliku sprawi, że jest to witryna, która jest ładowana, jeśli próba włamania wykorzystuje tylko Twój adres IP. Więc jeśli upewnimy się, że zabezpieczenia Apache dla tej domeny są ZAWSZE NASTAWIONE

Require local

każdy przypadkowy włamanie z zewnętrznego adresu otrzyma błąd i nie dostanie się do twojego komputera, ale jeśli błędnie wpiszesz domenę, zobaczysz stronę domową WampServer, ponieważ jesteś na tym samym komputerze co WampServer i dlatego local.

Krok 2 :

Dodaj nową nazwę domeny do pliku HOSTS. Teraz musimy dodać nazwę domeny, której użyliśmy w definicji hosta wirtualnego, do pliku HOSTS, aby system Windows wiedział, gdzie ją znaleźć. Jest to podobne do tworzenia rekordu DNS A, ale w tym przypadku jest widoczne tylko na tym konkretnym komputerze.

Edytować C:\windows\system32\drivers\etc\hosts

Plik nie ma rozszerzenia i taki powinien pozostać. Uważaj na notatnik, ponieważ może spróbować dodać .txtrozszerzenie, jeśli nie masz lepszego edytora. Sugeruję pobranie Notepad ++, jego darmowego i bardzo dobrego edytora.

Jest to również plik chroniony, więc musisz go edytować z uprawnieniami administratora, więc uruchom edytor za pomocą opcji menu Uruchom jako administrator .

Po zakończeniu edycji plik hosts powinien wyglądać następująco

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Zauważ, że powinieneś mieć tutaj definicje adresu sprzężenia zwrotnego IPV4, 127.0.0.1a także adresu sprzężenia zwrotnego IPV6, ::1ponieważ Apache obsługuje teraz protokół IPV6, a przeglądarka będzie używać protokołu IPV4 lub IPV6 lub obu. Nie mam pojęcia, w jaki sposób decyduje, którego użyć, ale może użyć albo, jeśli masz włączony stos IPV6, a większość systemów operacyjnych Windows działa od XP SP3.

Teraz musimy powiedzieć systemowi Windows, aby odświeżył pamięć podręczną nazw domen, więc ponownie uruchom okno poleceń, używając opcji menu Uruchom jako administrator , i wykonaj następujące czynności.

net stop dnscache
net start dnscache

Zmusza to system Windows do wyczyszczenia pamięci podręcznej nazwy domeny i ponownego załadowania go, a ponowne załadowanie spowoduje ponowne odczytanie pliku HOSTS, dzięki czemu będzie wiedział o domenie project1.

Krok 3 : Usuń komentarz z wiersza w pliku httpd.conf, który zawiera plik definicji Virtual Hosts.

Edytuj plik httpd.conf, użyj menu wampmanager.exe, aby upewnić się, że edytujesz poprawny plik.

Znajdź tę linię w httpd.conf

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

I po prostu usuń #ten wiersz, aby odkomentować tę linię.

Aby aktywować tę zmianę w Tobie z uruchomionym Apache, musimy teraz zatrzymać i ponownie uruchomić usługę Apache.

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

Teraz, jeśli ikona WAMP w zasobniku systemowym nie zaświeci się ponownie na ZIELONY, oznacza to, że prawdopodobnie zrobiłeś coś złego w \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.confpliku.

Jeśli tak, oto przydatny mechanizm pozwalający dowiedzieć się, co jest nie tak. Używa funkcji Apache exe (httpd.exe) do sprawdzania plików konfiguracyjnych i raportowania błędów według nazwy pliku i numerów linii.

Uruchom okno poleceń.

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

Więc napraw błędy i powtórz test, aż uzyskasz wynik

Syntax OK

Teraz jest jeszcze jedna rzecz.

W systemie menu wampmanagera są właściwie 2 nowe pozycje menu. Jeden o nazwie „Moje projekty”, który jest domyślnie włączony. I drugi, o nazwie „Moje wirtualne hosty” , który nie jest domyślnie aktywowany.

„Moje projekty” wyświetli wszystkie podkatalogi katalogu \ wamp \ www i zapewni łącze do uruchomienia witryny w tym podkatalogu. Jak powiedziałem wcześniej, uruchamia „projekt1”, a nie „localhost / projekt1”, więc aby łącze działało, musimy utworzyć definicję hosta wirtualnego, aby ten link faktycznie uruchamiał tę witrynę w przeglądarce, bez definicji hosta wirtualnego, prawdopodobnie uruchom wyszukiwanie w sieci nazwy witryny jako słowa kluczowego lub po prostu zwróć warunek nie znaleziono witryny.

Pozycja menu „Moje wirtualne hosty” jest trochę inna. Przeszukuje plik używany do definiowania hostów wirtualnych (dojdziemy do tego za minutę) i tworzy linki menu dla każdego znalezionego parametru ServerName i tworzy element menu dla każdego z nich. Może się to wydawać nieco zagmatwane, ponieważ po utworzeniu definicji hosta wirtualnego dla podkatalogów folderu \ wamp \ www niektóre elementy pojawią się zarówno w menu „Moje projekty”, jak iw menu „Moje wirtualne hosty”.

Jak włączyć inne menu „Moje wirtualne hosty”?

  • Zrób kopię zapasową pliku \ wamp \ wampmanager.tpl, na wypadek gdybyś się pomylił, jest to bardzo ważny plik.
  • Edytuj plik \ wamp \ wampmanager.tpl
  • Znajdź ten parametr ;WAMPPROJECTSUBMENUw sekcji „[Menu.Left]”.
  • Dodaj ten nowy parametr ;WAMPVHOSTSUBMENUprzed lub po ;WAMPPROJECTSUBMENUparametrze.
  • Zapisz plik.
  • Teraz kliknij prawym przyciskiem myszy ikonę wampmanagera i wybierz „Odśwież”. Jeśli to nie spowoduje dodania menu, „wyjdź” i uruchom ponownie wampmanager.

Ważna uwaga Nowe menu pojawi się tylko wtedy, gdy masz już zdefiniowane wirtualne hosty! W przeciwnym razie nie zobaczysz żadnej różnicy, dopóki nie zdefiniujesz VHOST.

Teraz, jeśli weźmiesz to do logicznego rozszerzenia

Możesz teraz całkowicie przenieść kod swojej witryny internetowej poza \wamp\strukturę folderów, po prostu zmieniając parametr DocumentRoot w definicji VHOST. Na przykład możesz to zrobić:

Utwórz folder na dysku wamp lub innym dysku (uwaga na dysk sieciowy, są one nieco bardziej skomplikowane)

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

Teraz skopiuj kod witryny do lub zacznij tworzyć go w \websites\example.com\wwwfolderze i zdefiniuj VHOST w ten sposób:

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

Następnie dodaj tę nową domenę programistyczną do pliku HOSTS:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

UWAGA: Nie jest dobrym pomysłem używanie ServerName lub ServerAlias, które są takie same jak nazwa domeny na żywo, tak jakbyśmy użyli example.com jako nazwy serwera, oznaczałoby to, że nie moglibyśmy już uzyskać dostępu do prawdziwej witryny z tego PC, ponieważ skierowałoby witrynę example.com do 127.0.0.1, tj. Ten komputer, a nie do Internetu.

RÓWNIEŻ: Zobacz, że zezwoliłem na dostęp do tej witryny z Internetu w ramach definicji VHOST, ta zmiana będzie miała zastosowanie tylko do tej witryny, a nie do innych. Bardzo przydatne do umożliwienia klientowi przeglądania twoich zmian przez około godzinę bez konieczności kopiowania ich na serwer. Oznacza to, że musimy ręcznie edytować ten plik, aby włączać i wyłączać ten dostęp, zamiast używać elementu menu Umieść online / offline w programie wampmanager.

Dodałem również pewne modyfikacje do konfiguracji PHP, ponownie, które będą miały zastosowanie tylko do tej jednej witryny. Bardzo przydatne przy utrzymywaniu witryny o określonych wymaganiach w przeciwieństwie do wszystkich innych utrzymywanych witryn. Domyślam się, że na podstawie użytych parametrów możemy założyć, że ma gdzieś długo działającą stronę i jest bardzo źle napisana i nie będzie działać z błędami wyświetlanymi w przeglądarce bez okropnego bałaganu na stronie. Uwierz mi, takie strony istnieją i ludzie nadal chcą, aby były źle utrzymywane . Ale to oznacza, że ​​musimy zmienić te parametry tylko dla tej konkretnej witryny, a nie globalnie dla wszystkich witryn wirtualnych działających na WampServer.


Niezwykle pomocny. To naprawdę powinna być akceptowana odpowiedź. Bardzo pouczające i jeśli będzie odpowiednio przestrzegane, umożliwi Ci uruchomienie w ciągu około 10 minut. Dobra rada. Jeden szybki punkt. Otrzymałem .htaccess: Błąd nieprawidłowego polecenia „RewriteEngine”. Musiałem zaznaczyć rewrite_module w menu Apache Modules. Czy ktoś mógłby odpowiedzieć, dlaczego musiałem to zrobić?
Chris,

1
Rewrite_module @Chris Apache to kod, który faktycznie zapewnia silnik przepisywania. Bez tego apache nie wie, jak przepisać adresy URL. Zasadniczo nie jest to część rdzenia Apache, ale dodatek z braku lepszego opisu
RiggsFolly

„Edytuj plik o nazwie httpd-hosts.conf, który dla WampServer znajduje się w \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf” W mojej nowej instalacji wampserver 2.5 ten plik nie istnieje. Jeśli miałeś na myśli httpd-vhosts.conf, popraw go.
bcsteeve

2
@ starleaf1 Chcesz, to nasza komenda! Uruchom localhost/add_vhost.phpna WAMPServer 3, sprawdź ten post na forum
WAMPServers

1
Porozmawiaj o szczegółowym wyjaśnieniu! +1 za to, right click wampmanager -> Tools -> Restart DNSże załatwiło sprawę po dodaniu nowego wirtualnego hosta i nie zrozumieniu, dlaczego nadal nie działa.
Paesano2000

74

Uważam, że to najlepsze rozwiązanie:

Otwórz plik index.php w folderze www i ustaw

zmień wiersz 30:$suppress_localhost = true;

do $suppress_localhost = false;

Dzięki temu projekt będzie poprzedzony adresem IP / nazwą lokalnego hosta


1
dzięki! rozwiązany problem, ale nie znaleziono ikon / obrazów ścieżki / icons blank.git, back.gif, folder.gif. na to też jakieś rozwiązanie?
Shubham Badal

3
Tak, utwórz wirtualnego hosta dla każdej witryny. Zobacz odpowiedź powyżej, aby dowiedzieć się, jak to zrobić.
RiggsFolly

1
Jest teraz (WAMPSERVER 3) prosta opcja menu w wampmanager, która to zrobi, jeśli naprawdę nie rozumiesz, jaki to zły pomysł. right click wampmanager->Wamp Settings->Add localhost to urlJedyną dobrą rzeczą jest to, że możesz to łatwo wyłączyć ponownie, gdy zdasz sobie sprawę, jaki to był zły pomysł!
RiggsFolly


11

Aby uzyskać dostęp do projektu ze strony głównej, musisz najpierw utworzyć Virtual Host .

Najłatwiejszym sposobem jest użycie narzędzia Wamp's Add a Virtual Host Utility.

Po prostu wykonaj następujące kroki:

  1. Utwórz folder w katalogu „C: \ wamp \ www \” i nadaj mu nazwę, którą chcesz nadać swojej witrynie, np. „ mysite ”. Ścieżka miałaby więc postać „C: \ wamp \ www \ mysite” .
  2. Teraz otwórz stronę główną hosta lokalnego w przeglądarce, w menu Narzędzia kliknij łącze Dodaj wirtualny host .
  3. Wpisz nazwę wirtualnego hosta , ta nazwa musi być nazwą folderu, który utworzyliśmy w katalogu www, czyli „ mysite ”.
  4. Wprowadź bezwzględną ścieżkę wirtualnego hosta, tj. „C: \ wamp \ www \ mysite \” bez cudzysłowów i kliknij przycisk poniżej z napisem „Rozpocznij tworzenie VirtualHost” .
  5. Utworzono wirtualny host, teraz wystarczy „Zrestartować DNS” . Aby to zrobić, kliknij prawym przyciskiem myszy ikonę menu w zasobniku serwera wamp, kliknij Narzędzia> Uruchom ponownie DNS i pozwól, aby ikona menu zasobnika ponownie stała się zielona.
  6. Wszystko gotowe! Teraz wystarczy utworzyć 'index.php' stronę wewnątrz "C: \ wamp \ www \ mojawitryna \" katalog. Dodaj kod w pliku „index.php” , na przykład
    <?php echo "<h1>Hello World</h1>"; ?>

Teraz możesz uzyskać dostęp do projektów ze strony głównej hosta lokalnego. Po prostu kliknij link do projektu, a na ekranie pojawi się napis „Hello World”.


1
Myślę, że to powinna być akceptowana awnser, ponieważ miałem ten sam problem i zadziałało!
Nmaster88

1
ten jest najnowszy, doskonały i pracował dla mnie. dzięki . niektóre z powyższych odpowiedzi są długie i nieaktualne.
Junaid

2
Powinna to być aktualnie zaakceptowana odpowiedź na dzień 18.04.2017 r. U mnie zadziałało idealnie.
rolo

to zadziałało, jednak virtualhost dla jednego z utworzonych przeze mnie folderów projektów, powiedzmy na przykład, nie zmienił przykładu pod nagłówkiem „Twoje projekty” jako linku… dlaczego tak jest?
Krys

Jeśli ktoś ma jakiekolwiek problemy z folderami projektu, które nie zmieniają się z czarnego tekstu na linki http, skorzystałem z tego szybkiego sposobu, aby to włączyć: otwórz index.php z wamp / www /, skopiuj ciąg w linii 152: <li> <a href = "'. str_replace ('. conf ',' ', $ file).' /"> '. str_replace ('. conf ',' ', $ file).' </a> </li> i zamień ciąg <li>. $ plik. </li> na linii 359. hej presto!
Krys

2

Jak naprawić uszkodzone linki ikon (blank.gif, text.gif itp.)

Niestety, jak wspomniano wcześniej, samo dodanie wirtualnego hosta do projektu nie naprawia zepsutych łączy ikon.

Problem:

WAMP / Apache nie zmienia odniesienia do katalogu ikon na odpowiedni katalog instalacyjny. Statycznie jest ustawiony na „c: / Apache24 / icons” i 99,9% użytkowników nie ma tutaj instalacji Apache. Zwłaszcza z WAMP.

Poprawka:

  1. Znajdź katalog ikon Apache! Zwykle będzie zlokalizowany tutaj: "c: /wamp/bin/apache/apache2.4.9/icons". Jednak przebieg może się różnić w zależności od instalacji i jeśli Twoja wersja Apache jest inna, Twoja ścieżka również będzie inna. \

  2. Otwórz plik httpd-autoindex.conf w swoim ulubionym edytorze. Ten plik zwykle można znaleźć tutaj: „C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf”. Ponownie, jeśli twoja wersja Apache jest inna, tak samo będzie z tą ścieżką.

  3. Znajdź tę definicję (zwykle znajduje się w górnej części pliku):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. Zastąp katalog „c: / Apache24 / icons /” własnymi. WAŻNE MUSISZ mieć końcowy ukośnik w pierwszym odwołaniu do katalogu. Drugie odwołanie do katalogu nie może mieć końcowego ukośnika. Twoje wyniki powinny wyglądać podobnie do tego. Twój katalog może się różnić:

    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. Uruchom ponownie serwer Apache i ciesz się fajnymi ikonami!


Lepszym rozwiązaniem jest bardziej ogólny, aby zmienić Aliassię Alias /icons/ "icons/"w wersjach przed -WampSerwer 3. W -WampSerwer 3 i powyżej jest to ustawienie domyślne i nie jest wymagana żadna zmiana.
RiggsFolly

2

Możesz wykonać wszystkie kroki @RiggsFolly, to jest naprawdę dobra odpowiedź.Jeśli nie chcesz tworzyć wirtualnego hosta i chcesz użyć poprzedniego localhost / example / lub czegoś podobnego, możesz użyć odpowiedzi @Arunu

Ale jeśli nadal masz problem, użyj tej metody,

  1. Zlokalizuj folder wamp (np. C: / Wamp /), w którym zainstalowałeś
  2. Idź do Wampa / www /
  3. Otwórz plik index.php
  4. znajdź ten kod $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. zmodyfikuj, dodaj localhost po http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Zrestartuj serwer wamp
  7. otwórz localhost zobacz zaktualizowane linki

Mam nadzieję, że Twój adres URL przypomina poprzednią wersję serwera wamp.


Czy mógłbyś zasugerować motyka, że ​​zrobimy to dla xampp. Próbowałem wszystkich sposobów, nadal moja witryna przekierowuje na stronę główną
xampp

1
$suppress_localhost = false;

To załatwiło sprawę dla mnie.


1

Działa to na Wamp 3+.

  • Przejdź do folderu wamp (wamp / lub wamp64 /)
  • Otwórz wampmanager.conf
  • Znajdź parametr urlAddLocalhost i ustaw go na: urlAddLocalhost = "on"

Nie powinno być potrzeby modyfikowania pliku index.php w folderze www.


0

Odp .: Łącza lokalnego hosta Wampserver nie działają poprawnie.
Stan na czerwiec 2014 r. Z Wampserver2.5 (może to naprawią w późniejszych kompilacjach).
Uwaga: aby użyć LocalHost: 8080 zamiast LocalHost, po prostu wprowadź odpowiednie zmiany w edycjach wymienionych poniżej.

Istnieją 2 aspekty tego problemu -
pierwszy to możliwość uzyskania dostępu do elementów w sekcji „Twoje projekty” ze strony domowej Wamp localhost.
Drugi to możliwość prawidłowego dostępu do elementów wymienionych na liście „Moje projekty” na pasku zadań Wampserver Icon.

Aby naprawić pierwszy (aby móc uzyskać dostęp do elementów w sekcji „Twoje projekty” ze strony domowej hosta lokalnego Wampa), musisz wykonać następujące czynności ...

Istnieją 2 zmiany , które musisz wprowadzić w pliku index.php znajdującym się w folderze wamp \ www (zwykle C: \ wamp \ www)

1) na linii 30 zmiana

  $suppress_localhost = true;

do

  $suppress_localhost = false;

2) w linii 338 zmiana

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

do

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

Po wykonaniu powyższych zmian - jeśli Wampserver jest uruchomiony, po prostu odśwież lokalną stronę hosta, a zmiany zaczną obowiązywać natychmiast.

Aby naprawić drugą pozycję (lista "Moje projekty" ikony Wampserver Icon paska zadań): Musisz edytować C: \ wamp \ scripts \ refresh.php

Znajdź linię 651 i zmień fragment wiersza, który brzmi

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

do

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

Po wprowadzeniu tego drugiego zestawu zmian może być konieczne wymuszenie Wampserver odświeżenia listy „Moje projekty” poprzez przełączenie opcji Umieść online / offline na dole aplikacji Wamp Icon Tray.


Niesamowity koleś, wreszcie coś, co działa! (za obejście portu 80 iis jacking, dzięki czemu witryna działa ze strony lokalnego hosta wampa)
Cammy

-1
  1. sprawdź, czy ikona serwera wampa jest zielona czy nie, jeśli jest zielona, ​​to działa, jeśli nie, musisz wykonać następujące kroki, aby to zrobić

    za. wszystkie programy powinny zostać zamknięte przed uruchomieniem wampa, ponieważ w większości przypadków niektóre programy, takie jak skype, używają tego samego portu (80), który jest używany przez wampa.

    b. możesz zmienić port skype: Tool-s-> oprions-> advanced-> connection odznacz użyj portu 80

  2. uruchom ponownie wamp, który będzie działał.

DRUGA sprawa

  1. po kliknięciu na projekt w loalhost nie pokazuje on localhost przed nazwą projektu i przez to wygląda na to, że wamp nie działa to masz tylko jedną rzecz na

    . przejdź do pliku wamp index.php i zmień $ suppress_localhost = false; z $ suppress_localhost = true; lub odwrotnie, to zadziała


-1

Przejdź do swojego katalogu www (jeśli używasz serwera wamp) htdocs (jeśli jest na XAMPP). Otwórz swój admin.php i wyszukaj zawartość projektu / lub po prostu przejdź bezpośrednio do wiersza numer 339 i zmień łącze, wstawiając „lokalny host do łącza”.

To powinno działać ,,


-1

Uważam, że o wiele łatwiej (niż zaakceptowana odpowiedź) jest utworzyć lokalną subdomenę według projektu i powiedzieć Apache, aby obsługiwał wiele witryn według nazwy.

Na przykład, powiedzmy, że utworzyłeś projekt pod adresemc:/wamp64/www/sites/mysite , aby uzyskać do niego dostęp pod adresem http: //mysite.localhost , wystarczy wykonać następujące czynności:

1. Powiedz urządzeniu, aby odpowiadało na różne nazwy Dodaj 127.0.0.1 mysite.localhostdoC:\windows\system32\drivers\etc\hosts

2. Opróżnij pamięć podręczną DNS Otwórz wiersz polecenia jako administrator i wpisz net stop dnscache, a następnie net start dnscache.

3. Powiedz Apache, gdzie ma szukać. Kliknij ikonę Wampa w zasobniku, przejdź do Apache -> httpd.conf i dodaj to na końcu:

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

( źródło )

4. Uruchom ponownie Apache Kliknij ikonę Wampa w zasobniku, wybierz „ Uruchom ponownie”

5. Zdefiniuj podstawowy adres URL Przejdź do folderu projektu, dodaj <base href="http://mysite.localhost" />do swojej <head>sekcji, aby zapobiec uszkodzeniu / linki do katalogu głównego serwera.

Osobiście wprowadzam ten kod HTML dynamicznie do mojego szablonu za pomocą PHP (coś w rodzaju $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;), więc nie muszę się martwić usuwaniem tego kodu raz na produkcji.


-3

Witaj, musisz otworzyć index.php z serwera wamp i zmienić $ suppress_localhost = false; z $ suppress_localhost = true; wtedy twoja wamp będzie działać dobrze


2
Istnieje wiele odpowiedzi, które dokładnie to mówią.
Vael Victus

1
Zatem nic nie wnieśliście.
Vael Victus
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.