Proje Bağlantıları Wamp Sunucusunda çalışmıyor


88

Orta büyüklükte bir veritabanı ve UI çalıştırmak için Wamp Sunucusunu başka bir bilgisayara kuruyorum. IIS'yi engellemede ve sunucuyu Localhost: 8080'e yönlendirmede başarılı oldum. Ancak ne zaman projelerimden birine localhost ana sayfasından www dosyasında erişmeye çalışsam; Bir Sayfa bulunamadı hatasına yönlendiriliyorum.

Bağlantıların üzerine geldiğimde dizin her zaman "http: // ProjectFolderNameHere /" ile geliyor. "http: // LocalHost: 8080 / ProjectFolderNameHere /" olması gerektiğinde. Bağlantıların düzgün çalışmasını sağlamak için ne yapabilirim?

Makinem Windows 7 Home Edition 64 bit üzerinde çalışıyor ve Microsoft IIS'yi zaten devre dışı bıraktım.


Localhost'a erişebilir misiniz: 8080 / index.html (bir tanesine sahip olduğunuzu varsayarak)? Size bu bozuk URL'leri gösteren bağlantılar nerede saklanıyor? Onları kim yazdı? Görünüşe göre bu bağlantılar kötü yazılmış.
Patrick

Hayır Ama dosyalarımdan birine bağlanmayı denedim, hepsi burada ayarlandı teşekkürler!
user3638431

Bir çözüm bulduysanız, ileride başvurmak üzere kendi sorunuzu yanıtlayın :)
Patrick

Tamam Öyleyse, Patrick'in tavsiyesini dinledim, bunun yerine localhost: 8080 / ProjectFilename yazdım ve sonunda projeme erişim sağladım. Sorunum hala devam ediyor ama etrafında bir yol buldum.
user3638431

Bağlantılarınızın (tıkladığınızların) yanlış yazıldığına inanıyorum. Bu bağlantılara nasıl ulaşacağınıza daha fazla ışık tutabilirseniz, siz onlara 'tıklamadan' önce nereye yazılırlarsa, daha fazla yardımcı olabilirim
Patrick

Yanıtlar:


161

WampServer'da Sanal Konak nasıl oluşturulur


WAMPServer 3 bu işlemi çok daha kolay hale getirdi!

WAMPServer'ın bir parçası olarak sağlanan bir yardımcı programdan neredeyse her şeyi yapabilirsiniz.

  • Proje.sitenizi içerecek bir klasör oluşturun. Bu, C:\wamp\www\dizinin altında veya gibi tamamen ayrı bir klasörde olabilir C:\websites.

  • Seçtiğiniz konumun içinde C:\websites\project1\wwwveya altında bir klasör oluşturun .c:\wamp\www\project1\www

  • Şimdi localhost'u açın wampmanager->localhostve Add a Virtual Hostana sayfadaki ARAÇLAR bölümünün altındaki bağlantıya tıklayın .

Bunun gibi bir sayfa göreceksiniz:

görüntü açıklamasını buraya girin

  • Alanları, her alanın üzerindeki talimatlarda belirtildiği şekilde doldurun

  • Sanal Konak yapılandırması sizin için oluşturulmuş olacaktır.

  • Şimdi DNS Önbelleğini yeniden başlatmalısınız. Bunu wampmanager menülerinden bunun gibi yapabilirsinizright click wampmanager->Tools->Restart DNS . DNS Önbelleği yeniden başlatılacak ve ardından Apache de durdurulacak ve yeniden başlatılacaktır. Wampmanager simgesi tekrar yeşile döndüğünde her şey tamamlanmış demektir.

  • Şimdi basit bir index.phpdosya oluşturmalı veya sitenizi yukarıda oluşturduğunuz klasöre yüklemelisiniz.

  • VH'nizin çağrıldığını varsayarak , WAMPServer ana sayfasının Sanal Konaklarınız Bölümünde project.devbu adı görmelisiniz.

  • Siteyi bu menüden başlatabilir veya sadece EG adres çubuğundaki yeni Etki Alanı Adını kullanabilir project1.devve site shoudl başlatabilirsiniz.


Eski WAMPServer 2.5 mekanizması veya hepsini manuel olarak yapmak istiyorsanız

WampServer 2.5 ve sonraki sürümlerinde bir kavram değişikliği oldu ve bu değişikliğin iyi bir nedeni var!

WampServer'da artık projelerinizin her biri için, onları bir \wamp\www\subfolderyapıda tutsanız bile, bir Sanal Konak oluşturmanız ŞİDDETLE teşvik edilmektedir .

Sanal Konak Belgeleri

Sanal Konak Örnekleri

WampServer ana sayfası ( \wamp\www\index.php) artık tüm projeleriniz için bir Sanal Ana Bilgisayar oluşturmanızı bekliyor ve bu nedenle yalnızca bunu yaparsanız düzgün çalışacaktır.

Tarih

Yeni başlayanlar için PHP Apache ve MySQL öğrenmek için WampServer kullanarak hayatı kolaylaştırmak için, \wamp\www\klasörün altında alt klasörler oluşturmanız önerildi .

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

Bu alt klasörler daha sonra WampServer Ana Sayfasında 'Projeleriniz' adlı bir menü altında bağlantılar olarak gösterilir ve bu bağlantılar bir bağlantı içerir localhost/subfoldername.

Yalnızca basit öğreticiler için kabul edilebilir

Bu, yeni başlayanlar için hayatı kolaylaştırdı ve örneğin PHP kodlamasını öğrenmek için eğitimleri takip edenler için mükemmel bir şekilde kabul edildi. Ancak, daha sonra canlı barındırılan sunucunuza kopyalamak isteyeceğiniz gerçek bir web sitesi geliştirirken asla kullanılması amaçlanmamıştır. Aslında, bu mekanizmayı kullandıysanız, canlı siteler yapılandırması geliştirme yapılandırmanızla eşleşmeyeceği için genellikle sorunlara neden olur.

Gerçek web sitesi geliştirme için Sorun .

Bunun nedeni elbette wamp için varsayılan DocumentRoot ayarının

DocumentRoot "c:/wamp/www/"

alt klasörünüzün adı ne olursa olsun. Yapıyı veya sitenizi sorgulayan PHP kodunu sıklıkla kullanan bu açıklama, WampServer geliştirmenizde çalıştırırken, DocumentRoot yapılandırmasının web sitesinin en üstündeki klasörü gösterdiği canlı barındırılan bir sunucuda çalışırken ne alacağına dair farklı bilgiler aldı. dosya hiyerarşisi. Bu tür bir kod birçok çerçevede ve CMS'de örneğin WordPress ve Joomla vb.

Örneğin

Diyelim ki proje1 adında bir projemiz var wamp\www\project1ve yanlış çalışıyorlocalhost/project1/index.php

Bu, söz konusu PHP komutunun bazıları tarafından bildirilecek olan şeydir:

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

Şimdi, bu siteyi bir Sanal Konak tanımını kullanarak doğru bir şekilde tanımlamış http://project1olsaydık ve WAMPServer geliştirme sitesindeki sonuçlar, canlı barındırılan bir ortamdayken alınanlarla eşleşecek şekilde çalıştırırsak.

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

Şimdi bu fark ilk başta önemsiz görünebilir, ancak örneğin WordPress veya CMS gibi Joomla gibi bir çerçeve kullanacaksanız, bu, sitenizi canlı bir sunucuya taşıdığınızda sorunlara neden olabilir ve olur.

WampServer'da Sanal Konak nasıl oluşturulur

Aslında bu, temelde herhangi bir wndows Apache sunucusu için aynı şekilde çalışmalıdır, yalnızca Apache yapılandırma dosyalarını nerede bulabileceğinize ilişkin farklılıklar vardır.

Apache'de ilk Sanal Konakınızı oluşturmak için 3 adım vardır ve önceden tanımladıysanız yalnızca 2 adım vardır.

  1. Sanal Konak tanımlarını oluşturun
  2. Yeni alan adınızı HOSTS dosyasına ekleyin.
  3. Sanal Konaklar tanım dosyasını içeren httpd.conf satırındaki açıklamayı kaldırın.

Adım 1 , Sanal Konak tanımlarını oluşturun

httpd-hosts.confWampServer'ın içinde yaşadığı adlı dosyayı düzenleyin

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

(Apache sürüm numaraları farklı olabilir, devam etmeden önce beyni meşgul edin)

Bu dosyayı ilk kez düzenliyorsanız, varsayılan örnek kodu kaldırın, hiçbir faydası yoktur.

İçinde yaşayan project1 adlı bir site için bir tanım oluşturmak istediğimizi varsayıyorum

\wamp\www\project1

Çok önemli, ilk önce localhost'un hala çalıştığından emin olmalıyız, böylece bu dosyaya koyacağımız ilk VHOST tanımı budur.

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

Şimdi projemizi tanımlıyoruz: ve bunu tabii ki yeni bir projeye başlarken her bir projeniz için yaparsınız.

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

NOT: Her Sanal Konağın kendi DocumentRoottanımladığı. Bir Sanal Konak tanımına ekleyebileceğiniz birçok başka parametre de vardır, Apache belgelerine bakın.

Küçük kenara

Sanal ana bilgisayarların Apache'de çalışma şekli: Bu dosyadaki ilk tanım aynı zamanda varsayılan site olacaktır, dolayısıyla tarayıcıda kullanılan etki alanı adı gerçekte tanımlanmış sanal olarak barındırılan herhangi bir etki alanıyla eşleşmiyorsa, localhost, dosyadaki ilk etki alanı yapar. bir saldırı girişimi yalnızca IP Adresinizi kullanırsa yüklenen sitedir. Bu nedenle, bu etki alanı için Apache güvenliğinin HER ZAMAN ŞUNA SAHİP OLDUĞUNDAN emin olursak

Require local

harici bir adresten gelen herhangi bir rasgele hack bir hata alır ve bilgisayarınıza girmez, ancak bir etki alanını yanlış yazarsanız WampServer ana sayfası gösterilir, çünkü WampServer ile aynı bilgisayardasınız ve bu nedenle bu nedenle local.

2. Adım :

Yeni alan adınızı HOSTS dosyasına ekleyin. Şimdi Sanal Konak tanımında kullandığımız alan adını HOSTS dosyasına eklememiz gerekiyor, böylece pencereler onu nerede bulacağını bilir. Bu, bir DNS A kaydı oluşturmaya benzer, ancak yalnızca bu durumda bu belirli PC'de görülebilir.

Düzenle C:\windows\system32\drivers\etc\hosts

Dosyanın uzantısı yoktur ve bu şekilde kalmalıdır. Not defterine dikkat edin, çünkü bir.txtDaha iyi bir düzenleyiciniz yoksa uzantı edin. Ücretsiz ve çok iyi bir düzenleyici olan Notepad ++ 'ı indirmenizi öneririm.

Ayrıca bu korumalı bir dosyadır, bu nedenle onu yönetici ayrıcalıklarıyla düzenlemelisiniz, bu nedenle Yönetici Olarak Çalıştır'ı kullanarak düzenleyicinizi başlatın. menü seçeneğini .

Bu düzenlemeleri tamamladığınızda hosts dosyası şöyle görünmelidir

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Burada IPV4 geridöngü adresi 127.0.0.1ve ayrıca IPV6 geridöngü adresi için tanımlara sahip olmanız gerektiğini unutmayın.::1 çünkü Apache artık IPV6'nın farkındadır ve tarayıcı IPV4'ü veya IPV6'yı veya her ikisini birden kullanacaktır. Hangisinin kullanılacağına nasıl karar verdiği hakkında hiçbir fikrim yok, ancak IPV6 yığını açıksa ve çoğu pencere işletim sistemi XP SP3'ten itibaren yapıyorsa kullanabilir.

Şimdi pencerelere etki alanı adı önbelleğini yenilemelerini söylemeliyiz, bu nedenle Yönetici olarak Çalıştır menü seçeneğini tekrar kullanarak bir komut penceresi açın ve aşağıdakileri yapın.

net stop dnscache
net start dnscache

Bu, pencereleri etki alanı adı önbelleğini temizlemeye ve yeniden yüklemeye zorlar, yeniden yüklerken HOSTS dosyasını yeniden okuyacak ve böylece etki alanı hakkında bilgi sahibi olacaktır project1.

Adım 3 : Sanal Konaklar tanımlama dosyasını içeren httpd.conf satırındaki açıklamayı kaldırın.

Httpd.conf dosyanızı düzenleyin, doğru dosyayı düzenlediğinizden emin olmak için wampmanager.exe menülerini kullanın.

Bu satırı httpd.conf içinde bulun

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

Ve sadece #bu satırı yorumlamak için kaldırın .

Apache çalıştırırken bu değişikliği etkinleştirmek için şimdi Apache hizmetini durdurmalı ve yeniden başlatmalıyız.

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

Şimdi, sistem tepsisindeki WAMP simgesi tekrar YEŞİL gitmezse, muhtemelen \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.confdosyada yanlış bir şey yapmışsınız demektir .

Eğer öyleyse, burada neyin yanlış olduğunu bulmak için yararlı bir mekanizma var. Yapılandırma dosyalarını kontrol etmek ve hataları dosya adı ve satır numaralarına göre bildirmek için Apache exe'nin (httpd.exe) bir özelliğini kullanır.

Bir komut penceresi açın.

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

Bu yüzden hataları düzeltin ve çıktıyı alana kadar tekrar test edin

Syntax OK

Şimdi bir şey daha var.

Wampmanager menü sisteminde aslında 2 yeni menü öğesi var. Bir adlandırılan 'My Projects' varsayılan olarak açıktır. Ve 'Sanal Konaklarım' adlı ikincisi varsayılan olarak etkinleştirilmemiş olan .

'Projelerim', \ wamp \ www dizininin herhangi bir alt dizinini listeleyecek ve siteyi bu alt dizinde başlatmak için bir bağlantı sağlayacaktır. Daha önce de söylediğim gibi, "localhost / project1" yerine "project1" i başlatıyor, bu nedenle bağlantının çalışmasını sağlamak için, bu bağlantının tarayıcınızda o siteyi gerçekten başlatmasını sağlamak için bir Sanal Konak tanımı oluşturmalıyız, Sanal Konak tanımı olmadan muhtemelen anahtar kelime olarak site adı için bir web araması başlatın veya sadece bir site bulunamadı koşulunu döndürür.

'My Virtual Hosts' menü öğesi biraz farklıdır. Sanal Konakları tanımlamak için kullanılan dosyayı arar (buna bir dakika içinde ulaşacağız) ve bulduğu her SunucuAdı parametresi için menü bağlantıları oluşturur ve her biri için bir menü öğesi oluşturur. Bu biraz kafa karıştırıcı görünebilir, çünkü \ wamp \ www klasörünün alt dizinleri için bir Sanal Ana Bilgisayar tanımı oluşturduğumuzda bazı öğeler hem 'Projelerim' menüsünde hem de 'Sanal Ana Bilgisayarlarım' menüsünde görünecektir.

Bu diğer 'Sanal Konaklarım' menüsünü nasıl açabilirim?

  • \ Wamp \ wampmanager.tpl dosyasının bir yedeğini alın, bir hata yapmanız durumunda bu çok önemli bir dosyadır.
  • \ Wamp \ wampmanager.tpl dosyasını düzenleyin
  • Bu parametreyi ;WAMPPROJECTSUBMENU'[Menu.Left]' bölümünde bulun.
  • Bu yeni parametreyi parametrenin ;WAMPVHOSTSUBMENUönüne veya arkasına ekleyin ;WAMPPROJECTSUBMENU.
  • Dosya 'yı kaydet.
  • Şimdi wampmanager simgesine sağ tıklayın ve 'Yenile'yi seçin. Bu, menüyü eklemezse, 'çıkın' ve wampmanager'ı yeniden başlatın.

Büyük Not Yeni menü yalnızca önceden tanımlanmış bazı Sanal Konaklarınız varsa görünecektir! Aksi takdirde, bir VHOST tanımlayana kadar hiçbir fark görmeyeceksiniz.

Şimdi bunu mantıksal uzantısına götürürseniz

Artık \wamp\sadece VHOST tanımındaki DocumentRoot parametresini değiştirerek web sitesi kodunuzu klasör yapısının tamamen dışına taşıyabilirsiniz . Yani örneğin şunu yapabilirsiniz:

Wamp diskinde veya başka bir diskte bir klasör oluşturun (ağ sürücüsüne dikkat edin, bunlar biraz daha karmaşıktır)

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

Şimdi site kodunuzu \websites\example.com\wwwklasörüne kopyalayın veya klasörde oluşturmaya başlayın ve VHOST'unuzu şu şekilde tanımlayın:

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

Ardından bu yeni geliştirme etki alanını HOSTS dosyasına ekleyin:

127.0.0.1 localhost
::1 localhost

127.0.0.1 project1
::1 project1

127.0.0.1 example.dev
::1 example.dev

NOT: Canlı etki alanı adınızla aynı olan bir SunucuAdı veya SunucuAlias'ı kullanmak iyi bir fikir değildir, sanki SunucuAdı olarak example.com'u kullanmışız gibi bu, bundan gerçek canlı siteye artık ulaşamayacağımız anlamına gelir. Ornek.com'u 127.0.0.1'e yönlendireceği için PC, yani bu PC, internete değil.

AYRICA: Bu siteye VHOST tanımları dahilinde internetten erişilmesine izin verdiğimi görün, bu değişiklik sadece bu site için geçerli olacak, diğerleri için geçerli olmayacak. Bir istemcinin değişikliklerinizi canlı sunucuya kopyalamak zorunda kalmadan bir saat kadar görüntülemesine izin vermek için çok kullanışlıdır. Bu, wampmanager'da Çevrimiçi / Çevrimdışı Koy menü öğesini kullanmak yerine bu erişimi açıp kapatmak için bu dosyayı manuel olarak düzenlememiz gerektiği anlamına gelir.

Ayrıca PHP yapılandırmasına, yine yalnızca bu site için geçerli olacak bazı değişiklikler ekledim. Bakımını yaptığınız diğer tüm sitelerin aksine, belirli gereksinimleri olan bir siteyi korurken çok kullanışlıdır. Sanırım kullanılan parametrelerden bir yerde uzun süre çalışan bir sayfa olduğunu ve çok kötü yazılmış olduğunu ve sayfayı korkunç bir şekilde karıştırmadan tarayıcıda görüntülenen hatalarla çalışmayacağını varsayabiliriz. İnanın bana bunun gibi siteler var ve insanlar hala bunların kötü bir şekilde korunmasını istiyor . Ancak bu, bu parametreleri yalnızca bu belirli site için değiştirmemiz gerektiği ve genel olarak WampServer üzerinde çalışan tüm Sanal sitelerde değiştirmememiz gerektiği anlamına gelir.


Çok yardımcı oldu. Bu gerçekten kabul edilen cevap olmalı. Çok bilgilendirici ve doğru şekilde takip edilirse, yaklaşık 10 dakika içinde çalışmaya başlayabilirsiniz. Harika tavsiye. Yine de hızlı bir nokta. Bir .htaccess: Geçersiz komut 'RewriteEngine' hatası aldım. Apache Modules menüsünün altındaki rewrite_module öğesini işaretlemem gerekiyordu. Birisi bunu neden yapmak zorunda olduğumu cevaplayabilir mi?
Chris

1
@Chris Apache'nin rewrite_module'ı aslında yeniden yazma motorunu sağlayan koddur. O olmadan apache url yeniden yazmayı nasıl yapacağını bilmez. Temel olarak,
apache'nin

"WampServer için \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf içinde bulunan httpd-hosts.conf adlı dosyayı düzenleyin" Yeni wampserver 2.5 yüklememde bu dosya mevcut değil. Httpd-vhosts.conf'u kastettiyseniz, lütfen düzeltin.
bcsteeve

2
@ starleaf1 Dilek bizim için emirdir! localhost/add_vhost.phpWAMPServer 3'te çalıştırın , WAMPServers Forum
RiggsFolly'deki

1
Derinlemesine açıklama hakkında konuşun! Bunun için +1 right click wampmanager -> Tools -> Restart DNSyeni bir sanal ana bilgisayar ekledikten sonra hile yaptı ve neden hala çalışmadığını anlamadı.
Paesano2000

74

Bunun en iyi çözüm olduğuna inanıyorum:

İndex.php dosyasını www klasöründe açın ve ayarlayın

30. satırı değiştirin:$suppress_localhost = true;

-e $suppress_localhost = false;

Bu, projeye yerel ana bilgisayar IP'nizin / adınızın öneki olmasını sağlayacaktır


1
Teşekkürler! sorun çözüldü, ancak / simgeler yolunun simgeleri / görüntüleri boş.git, back.gif, klasör.gif gösterilmiyor. bunun için de herhangi bir çözüm var mı?
Shubham Badal

3
Evet, her site için bir sanal Konak oluşturun, nasıl yapılacağını öğrenmek için yukarıdaki cevaba bakın.
RiggsFolly

1
Şimdi (WAMPSERVER 3) wampmanager'da bunun ne kadar kötü bir fikir olduğunu gerçekten anlamıyorsanız bunu yapmak için basit bir menü seçeneği var. right click wampmanager->Wamp Settings->Add localhost to urlBununla ilgili tek iyi şey, ilk başta ne kadar kötü bir fikir olduğunu anladığınızda, daha sonra kolayca tekrar kapatabilmenizdir!
RiggsFolly


11

Projeye ana sayfadan erişmek için önce bir Sanal Konak oluşturmanız gerekir .

Bunu yapmanın en kolay yolu, Wamp'ın Sanal Konak Ekle Yardımcı Programını kullanmaktır.

Şu adımları uygulamanız yeterlidir:

  1. "C: \ wamp \ www \" dizini içinde bir klasör oluşturun ve sitenize örneğin vermek istediğiniz bir ad verin. " sitem ". Böylece yol "C: \ wamp \ www \ mysite" olacaktır .
  2. Şimdi tarayıcınızda localhost'un ana sayfasını açın, Araçlar menüsü altında Sanal Ana Bilgisayar Ekle'ye tıklayın bağlantısını tıklayın.
  3. Sanal konağın adını girin , bu ad www dizini içinde oluşturduğumuz klasörün adı olmalıdır yani ' mysite '.
  4. Enter mutlak yolunu sanal konağın yani "C: \ wamp \ www \ sitem \" tırnaklar olmadan ve diyerek aşağıdaki düğmeyi tıklayın 'Başlat VirtualHost yaratılması' .
  5. Sanal Konak oluşturuldu, şimdi sadece 'DNS'yi Yeniden Başlatmanız' gerekiyor . Bunu yapmak için, wamp sunucusunun tepsi menü simgesine sağ tıklayın, Araçlar> DNS'yi Yeniden Başlat'a tıklayın. ve tepsi menü simgesinin tekrar yeşil olmasına izin verin.
  6. Her şey hazır! Şimdi sadece "C: \ wamp \ www \ mysite \" dizini içinde 'index.php' sayfasını oluşturun . 'İndex.php' dosyasına bir miktar kod ekleyin.
    <?php echo "<h1>Hello World</h1>"; ?>

Artık projelere localhost'un ana sayfasından erişebilirsiniz. Sadece proje bağlantısını tıklayın ve ekranınızda 'Merhaba Dünya'nın yazılı olduğunu göreceksiniz.


1
Sanırım bu kabul edilen tarayıcı olmalı çünkü aynı sorunu yaşadım ve işe yaradı!
Nmaster88

1
bu en son ve mükemmel ve benim için çalıştı. Teşekkürler . yukarıdaki cevaplardan bazıları uzun ve geçerliliğini yitirmiş.
Junaid

2
Bu 4/18/2017 tarihi itibariyle kabul edilen mevcut cevap olmalıdır. Benim için mükemmel çalıştı.
rolo

bu işe yaradı, ancak örneğin oluşturduğum proje klasörlerinden biri için sanal ana makine, bağlantı olarak 'Projeleriniz' başlığı altındaki örneği değiştirmedi .. Bu neden?
Krys

Siyah metinden http bağlantılarına geçmeyen proje klasörleriyle ilgili herhangi bir sorun varsa, bunu etkinleştirmek için şu hızlı yolu izledim: index.php'yi wamp / www / 'dan açın, dizeyi 152. satıra kopyalayın: <li> <a href = "'. str_replace ('. conf ',' ', $ dosya).' /"> '. str_replace ('. conf ',' ', $ dosya).' </a> </li> ve dizeyi değiştirin <li>. $ dosya. </li> 359. hatta. hey presto!
Krys

2

Kırık Simge Bağlantıları Nasıl Onarılır (blank.gif, text.gif, vb.)

Ne yazık ki daha önce belirtildiği gibi, projenize sadece sanal bir ana bilgisayar eklemek, bozuk simge bağlantılarını düzeltmez.

Sorun:

WAMP / Apache, simgeler için dizin referansını kendi kurulum dizininizle değiştirmez. Statik olarak "c: / Apache24 / icons" olarak ayarlanmıştır ve kullanıcıların% 99,9'u Apache kurulumu burada bulunmaz. Özellikle WAMP ile.

Çözüm:

  1. Apache simgeler dizininizi bulun! Tipik olarak şurada bulunur: "c: /wamp/bin/apache/apache2.4.9/icons". Bununla birlikte, kilometreniz kurulumunuza bağlı olarak değişebilir ve Apache sürümünüz farklıysa, yolunuz da farklı olacaktır. \

  2. Favori düzenleyicinizde httpd-autoindex.conf dosyasını açın. Bu dosya genellikle şu adreste bulunur: "C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-autoindex.conf". Yine, Apache sürümünüz farklıysa, o zaman bu yol da değişir.

  3. Bu tanımı bulun (genellikle dosyanın üst kısmına yakın bir yerde bulunur):

    Alias /icons/ "c:/Apache24/icons/"
    
    <Directory "c:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>
    
  4. "C: / Apache24 / icons /" dizinlerini kendi dizininizle değiştirin. ÖNEMLİ İlk dizin başvurusunda sonda bir eğik çizgi olmalıdır ZORUNLU. İkinci dizin başvurusunun sonunda eğik çizgi olmamalıdır. Sonuçlarınız buna benzer görünmelidir. Yine, dizininiz farklı olabilir:

    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 sunucunuzu yeniden başlatın ve harika simgelerinizin keyfini çıkarın!


Daha iyi, daha genel bir çözüm değiştirmektir Aliasiçin Alias /icons/ "icons/"önce WAMPServer 3. ayında WAMPServer 3'e ve bu varsayılan ve hiçbir değişiklik gereklidir yukarıdaki sürümlerinde.
RiggsFolly

2

@RiggsFolly ile tüm adımları takip edebilirsiniz bu gerçekten iyi bir cevaptır, Sanal konak oluşturmak istemiyorsanız ve önceki localhost / örnek / gibi bir şey kullanmak istiyorsanız veya bunun gibi bir şeyi @Arunu tarafından kullanabilirsiniz.

Ancak yine de sorunla karşılaşırsanız lütfen bu yöntemi kullanın,

  1. Yüklediğiniz wamp klasörünüzü (Örn. C: / Wamp /) bulun
  2. Wamp'a git / www /
  3. İndex.php dosyasını açın
  4. bu kodu bul $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. değiştirin http: // sonrasına localhost ekleyin $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Wamp sunucusunu yeniden başlatın
  7. localhost'u açın güncellenmiş bağlantılara bakın

Umarım url'nizi wamp sunucusunun önceki sürümü gibi almışsınızdır.


Lütfen çapa için bunu xampp için yapmamızı önerir misiniz? tüm yolları denedim, yine de sitem xampp ana sayfasına yönlendiriyor
Sushivam

1
$suppress_localhost = false;

Bu benim için hile yaptı.


1

Bu, Wamp 3+ üzerinde çalışır.

  • Wamp klasörüne gidin (wamp / veya wamp64 /)
  • Wampmanager.conf dosyasını açın
  • UrlAddLocalhost parametresini bulun ve ayarlayın: urlAddLocalhost = "on"

İndex.php'yi www klasöründe değiştirmeye gerek olmamalıdır.


Bu sorun için burada çözüm yaptım: youtu.be/rRwG591fzU8
Ns789

0

Re: Wampserver LocalHost bağlantıları düzgün çalışmıyor
Bu, Haziran 2014 itibariyle Wampserver2.5 ile birlikte (belki bunu sonraki sürümlerde düzeltirler).
Not: LocalHost'u kullanmak için: LocalHost yerine 8080, sadece aşağıda belirtilen düzenlemelerde uygun değişiklikleri yapın.

Bu sorunun 2 yönü vardır -
Birincisi, Wamp localhost ana sayfasından "Projeleriniz" altındaki öğelere erişebilmektir.
İkincisi, Wampserver Simgesi Görev Çubuğunun "Projelerim" listesinde listelenen öğelere doğru bir şekilde erişebilmektir.

İlkini düzeltmek için (Wamp localhost ana sayfasından "Projeleriniz" altındaki öğelere erişebilmek için) aşağıdakileri yapmanız gerekir ...

2 düzenleme varWamp \ www klasörünüzde (genellikle C: \ wamp \ www) bulunan index.php dosyasında yapmanız gereken vardır.

1) 30. satırda değişiklik

  $suppress_localhost = true;

-e

  $suppress_localhost = false;

2) 338 satırında değişiklik

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

-e

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

Yukarıdaki düzenlemeleri yaptıktan sonra - Wampserver çalışıyorsa, sadece yerel ana bilgisayar sayfasını yenileyin ve değişiklikler hemen etkili olur.

2. öğeyi (Wampserver Simgesi Görev Çubuğunun "Projelerim" listesi) düzeltmek için: C: \ wamp \ scripts \ renew.php'yi düzenlemeniz gerekir

651 satırını bulun ve satırın okuyan bölümünü değiştirin

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

-e

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

Bu 2. değişiklikleri yaptıktan sonra, Wamp Icon Tray Uygulamasının altındaki Çevrimiçi / Çevrimdışı Koy seçeneğini değiştirerek Wampserver'ı "Projelerim" listesini yenilemeye zorlamanız gerekebilir.


Harika dostum, sonunda işe yarayan bir şey! (iis jacking port 80 etrafında dolaşmak için wamp localhost sayfasından bir site çalışması yapmak için)
Cammy

-1
  1. wamp sunucusu simgesinin yeşil olup olmadığını kontrol edin, yeşil ise o zaman çalışmıyorsa, yapmak için aşağıdaki adımları izlemeniz gerekir

    a. wamp'ı çalıştırmadan önce tüm programlar kapatılmalıdır çünkü çoğu durumda skype gibi bazı yazılımlar wamp tarafından kullanılan aynı portu (80) alır.

    b. skype portunu değiştirebilirsiniz: Tool-s-> oprions-> advanced-> bağlantı 80 numaralı portu kullanın

  2. wamp'ı yeniden başlatın, çalışacaktır.

İKİNCİ vaka

  1. loalhost'ta projeye tıkladığınızda, localhost proje adının önünde gösterilmiyor ve bu nedenle wamp çalışmıyor gibi görünüyor, o zaman sadece bir şey yapmanız gerekiyor

    . wamp index.php dosyasına gidin ve $ suppress_localhost = false; $ suppress_localhost = true; veya tersini deneyin, işe yarayacak


-1

Www dizininize gidin (wamp sunucusu kullanıyorsanız) htdocs (XAMPP üzerindeyse). Admin.php dosyanızı açın ve proje içeriğini arayın / veya doğrudan 339 numaralı satıra gidin ve bağlantıya 'yerel ana bilgisayar' ekleyerek bağlantıyı değiştirin.

Bu işe yaramalı,


-1

Projeye göre yerel bir alt etki alanı oluşturmanın ve Apache'ye birden fazla siteyi adıyla sunmasını söylemenin (kabul edilen yanıttan daha kolay) çok daha kolay olduğunu düşünüyorum.

Örneğin, altında bir proje oluşturduğunuzu varsayalımc:/wamp64/www/sites/mysite , http: //mysite.localhost adresinden ona erişebilmek için aşağıdakileri yapmanız yeterlidir:

Farklı isimler verilen cevaba makinenizi söyle 1. ekle 127.0.0.1 mysite.localhostiçinC:\windows\system32\drivers\etc\hosts

2. DNS önbelleğinizi temizleyin Yönetici olarak bir Komut İstemi açın ve net stop dnscacheardından yazın net start dnscache.

3. Apache'ye nereye bakacağını söyleyin Tepsideki Wamp simgesine tıklayın, Apache -> httpd.conf'a gidin ve bunu sonuna ekleyin:

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

( kaynak )

4. Apache'yi yeniden başlatın Tepsideki Wamp'ın simgesine tıklayın, "yeniden başlat" ı seçin

Url'de tabanını tanımlayın 5. proje klasörüne git eklemek <base href="http://mysite.localhost" />için sizin<head> sunucu köküne bağlantıların kopmasını önlemek bölümünüze .

Şahsen, bu html kodunu PHP kullanarak şablonuma dinamik olarak enjekte ediyorum (buna benzer bir şey $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;), böylece üretimde bunu bir kez kaldırmak zorunda kalmam.


-3

Merhaba index.php dosyasını wamp sunucusundan açmanız ve $ suppress_localhost = false; $ suppress_localhost = true; o zaman wamp'iniz iyi çalışacak


2
Tam olarak bunu söyleyen pek çok cevap var.
Vael Victus

1
O halde hiçbir katkıda bulunmadınız.
Vael Victus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.