Ссылки проекта не работают на сервере Wamp

88

Я устанавливаю Wamp Server на другой компьютер для запуска базы данных и пользовательского интерфейса среднего размера. Мне удалось заблокировать IIS и направить сервер на Localhost: 8080. Но всякий раз, когда я пытаюсь получить доступ к одному из своих проектов с домашней страницы localhost в файле www; Меня перенаправляют на ошибку "Страница не найдена".

Когда я нахожу курсор над ссылками, всегда появляется каталог «http: // ProjectFolderNameHere /». когда это должно быть «http: // LocalHost: 8080 / ProjectFolderNameHere /». Что я могу сделать, чтобы ссылки работали правильно?

Моя машина работает под управлением 64-разрядной версии Windows 7 Home Edition, и у меня уже отключен IIS от Microsoft.

user3638431
источник
Можете ли вы получить доступ к localhost: 8080 / index.html (если он у вас есть)? Где хранятся ссылки, показывающие неработающие URL-адреса? Кто их написал? Похоже, эти ссылки просто плохо написаны.
Патрик
Нет, но я попытался подключиться к одному из моих файлов, все здесь, спасибо!
user3638431
Если вы нашли решение, ответьте на свой вопрос на будущее :)
Патрик
Хорошо. Итак, я последовал совету Патрика, но вместо этого набрал localhost: 8080 / ProjectFilename и, наконец, получил доступ к своему проекту. Моя проблема все еще остается, но я нашел способ ее обойти.
user3638431
Я действительно считаю, что ваши ссылки (те, которые вы нажимаете) написаны неправильно. Если бы вы могли пролить больше света на то, как вы переходите к этим ссылкам, где они написаны, прежде чем вы «нажимаете» на них, я мог бы помочь дальше
Патрик

Ответы:

160

Как создать виртуальный хост в WampServer


WAMPServer 3 значительно упростил этот процесс!

Вы можете делать практически все с помощью утилиты, входящей в состав WAMPServer.

  • Создайте внутри папку, в которой будет находиться ваш project.site. Это может быть в C:\wamp\www\каталоге или в совершенно отдельной папке, например C:\websites.

  • Создайте папку в выбранном вами месте EG C:\websites\project1\wwwили подc:\wamp\www\project1\www

  • Теперь откройте localhost wampmanager->localhostи щелкните ссылку Add a Virtual Hostв разделе ИНСТРУМЕНТЫ на главной странице.

Вы увидите такую ​​страницу:

введите описание изображения здесь

  • Заполните поля, как указано в инструкциях над каждым полем.

  • Конфигурация виртуального хоста будет создана для вас.

  • Теперь вы должны перезапустить кеш DNS. Вы можете сделать это из меню wampmanager вот так right click wampmanager->Tools->Restart DNS. Кэш DNS будет перезапущен, а затем Apache также будет остановлен и перезапущен. Когда значок wampmanager снова станет зеленым, все будет готово.

  • Теперь вы должны создать простой index.phpфайл или установить свой сайт в папку, которую вы создали выше.

  • Предполагая, что ваш VH был вызван, project.devвы должны увидеть это имя в разделе « Ваши виртуальные хосты» на домашней странице WAMPServer.

  • Вы можете запустить сайт из этого меню или просто использовать новое доменное имя в адресной строке EG project1.devи запустить сайт.


Старый механизм 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 в меню под названием «Ваши проекты», и эти ссылки будут содержать ссылку на localhost/subfoldername.

Допустимо только для простых руководств

Это упростило жизнь новичку и было вполне приемлемо, например, для тех, кто следовал инструкциям по программированию PHP. Однако он никогда не предназначался для использования при разработке настоящего веб-сайта, который позже вы захотите скопировать на свой действующий размещенный сервер. Фактически, если вы действительно использовали этот механизм, он часто вызывал проблемы, поскольку конфигурация живых сайтов не соответствовала вашей конфигурации разработки.

Проблема реальной разработки веб-сайтов.

Причина этого, конечно, в том, что значение DocumentRoot по умолчанию для wamp -

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, или одну из CMS, например, Joomla, это может вызвать и действительно вызывает проблемы при перемещении вашего сайта на активный сервер.

Как создать виртуальный хост в WampServer

На самом деле это должно работать в основном одинаково для любого сервера Apache wndows, с различиями только в том, где вы можете найти файлы конфигурации Apache.

Есть 3 шага для создания вашего первого виртуального хоста в Apache и только 2, если он у вас уже определен.

  1. Создайте определение виртуального хоста
  2. Добавьте ваше новое доменное имя в файл HOSTS.
  3. Раскомментируйте строку в httpd.conf, которая включает файл определения виртуальных хостов.

Шаг 1. Создайте определение виртуального хоста

Отредактируйте файл с именем, в httpd-hosts.confкотором находится WampServer.

\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

любой случайный взлом с внешнего адреса приведет к ошибке и не попадет на ваш компьютер, но если вы ошибетесь в написании домена, вам будет показана домашняя страница WampServer, потому что вы находитесь на том же компьютере, что и WampServer, и поэтому local.

Шаг 2 :

Добавьте ваше новое доменное имя в файл HOSTS. Теперь нам нужно добавить доменное имя, которое мы использовали в определении виртуального хоста, в файл HOSTS, чтобы Windows знала, где его найти. Это похоже на создание записи DNS A, но в этом случае она видна только на этом конкретном ПК.

редактировать C:\windows\system32\drivers\etc\hosts

Файл не имеет расширения и должен оставаться таким. Не упустите блокнот, так как он может попытаться добавить.txt расширение, если у вас нет лучшего редактора. Я предлагаю вам скачать Notepad ++, бесплатный и очень хороший редактор.

Кроме того, это защищенный файл, поэтому вы должны редактировать его с правами администратора, поэтому запустите редактор, используя Запуск от имени администратора. меню .

После внесения изменений файл hosts должен выглядеть следующим образом.

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Обратите внимание, что здесь у вас должны быть определения для адреса обратной связи IPV4, 127.0.0.1а также адреса обратной связи IPV6.::1 поскольку Apache теперь поддерживает IPV6, а браузер будет использовать либо IPV4, либо IPV6, либо оба. Я понятия не имею, как он решает, что использовать, но он может использовать и то, и другое, если у вас включен стек IPV6, а большинство оконных ОС работают с XP SP3.

Теперь мы должны указать Windows обновить кэш доменного имени, поэтому снова запустите командное окно, используя параметр меню « Запуск от имени администратора» , и выполните следующие действия.

net stop dnscache
net start dnscache

Это заставляет Windows очистить кэш доменного имени и перезагрузить его, при перезагрузке он перечитает файл 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 новых пункта меню. Один под названием «Мои проекты» включен по умолчанию. И второй под названием «Мои виртуальные хосты». , который по умолчанию не активирован.

«Мои проекты» перечислит все подкаталоги каталога \ wamp \ www и предоставит ссылку для запуска сайта в этом подкаталоге. Как я сказал ранее, он запускает 'project1', а не 'localhost / project1', поэтому для того, чтобы ссылка работала, мы должны создать определение виртуального хоста, чтобы эта ссылка действительно запускала этот сайт в вашем браузере, без определения виртуального хоста, скорее всего, запустить веб-поиск по названию сайта в качестве ключевого слова или просто вернуть условие «сайт не найден».

Пункт меню «Мои виртуальные хосты» немного отличается. Он ищет файл, который используется для определения виртуальных хостов (мы вернемся к этому через минуту), и создает ссылки меню для каждого найденного параметра ServerName и создает пункт меню для каждого из них. Это может показаться немного запутанным, поскольку после того, как мы создадим определение виртуального хоста для подкаталогов папки \ wamp \ www, некоторые элементы появятся как в меню «Мои проекты», так и в меню «Мои виртуальные хосты».

Как мне включить это другое меню «Мои виртуальные хосты»?

  • Сделайте резервную копию файла \ wamp \ wampmanager.tpl, на всякий случай, если вы ошиблись, это очень важный файл.
  • Отредактируйте \ wamp \ wampmanager.tpl
  • Найдите этот параметр ;WAMPPROJECTSUBMENU в разделе «[Menu.Left]».
  • Добавьте этот новый параметр ;WAMPVHOSTSUBMENUдо или после;WAMPPROJECTSUBMENU параметра.
  • Сохраните файл.
  • Теперь щелкните правой кнопкой мыши значок wampmanager и выберите «Обновить». Если это не добавит меню, «выйдите» и перезапустите wampmanager.

Важное примечание Новое меню появится только в том случае, если у вас уже есть определенные виртуальные хосты! В противном случае вы не увидите разницы, пока не определите VHOST.

Теперь, если вы доведете это до логического продолжения

Теперь вы можете полностью переместить код своего веб-сайта за пределы \wamp\структуры папок, просто изменив параметр DocumentRoot в определении VHOST. Так, например, вы можете сделать это:

Создайте папку на 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, это означало бы, что мы больше не сможем попасть на реальный действующий сайт с этого ПК, поскольку он направит example.com на 127.0.0.1, то есть на этот компьютер, а не в Интернет.

ТАКЖЕ: обратите внимание, что я разрешил доступ к этому сайту из Интернета из определений VHOST, это изменение будет применяться только к этому сайту и никакому другому. Очень полезно, чтобы позволить клиенту просматривать ваши изменения в течение часа или около того, не копируя их на рабочий сервер. Это означает, что мы должны редактировать этот файл вручную, чтобы включать и выключать этот доступ, а не использовать пункт меню «Подключить / Автономный» в wampmanager.

Также я добавил некоторые изменения в конфигурацию PHP, опять же, которые будут применяться только к этому сайту. Очень полезно при поддержке сайта с особыми требованиями в отличие от всех других сайтов, которые вы поддерживаете. Я предполагаю, что из используемых параметров мы можем предположить, что у него где-то есть давно работающая страница, и она очень плохо написана и не будет работать с ошибками, отображаемыми в браузере, без ужасного беспорядка на странице. Поверьте мне сайты , как этого есть и люди все еще хотят их сохранить плохо . Но это означает, что нам нужно изменить эти параметры только для этого конкретного сайта, а не глобально для всех виртуальных сайтов, работающих на WampServer.

RiggsFolly
источник
Очень полезно. Это действительно должен быть принятый ответ. Очень информативный и при правильном выполнении поможет вам приступить к работе примерно через 10 минут. Отличный совет. Одно небольшое замечание. Я получил ошибку .htaccess: Invalid command 'RewriteEngine'. Мне пришлось поставить галочку rewrite_module в меню модулей Apache. Может ли кто-нибудь ответить, почему я должен был это сделать?
Крис
1
Rewrite_module @Chris Apache - это код, который фактически обеспечивает механизм перезаписи. Без него apache не умеет перезаписывать URL. По сути, это не часть ядра apache, а аддон из-за отсутствия лучшего описания
RiggsFolly
«Отредактируйте файл с именем httpd-hosts.conf, который для WampServer находится в \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-hosts.conf» В моей новой установке wampserver 2.5 этот файл не существует. Если вы имели в виду httpd-vhosts.conf, исправьте.
bcsteeve
2
@ starleaf1 Вы желаете - это наша команда! Запустите localhost/add_vhost.phpWAMPServer 3, посмотрите этот пост на форуме
WAMPServers
1
Поговорим о подробном объяснении! +1 за то, right click wampmanager -> Tools -> Restart DNSчто это помогло после добавления нового виртуального хоста и непонимания, почему он все еще не работает.
Paesano2000
74

Я считаю, что это лучшее решение:

Откройте index.php в папке www и установите

изменить строку 30:$suppress_localhost = true;

к $suppress_localhost = false;

Это обеспечит префикс проекта с вашим IP / именем локального хоста.

Хуссейн
источник
1
благодаря! проблема решена, но значки / изображения пути / значков не отображаются blank.git, back.gif, folder.gif показывает, что не найдено. любое решение для этого тоже?
Шубхам Бадал
3
Да, создайте виртуальный хост для каждого сайта, см. Ответ выше, чтобы узнать, как это сделать.
RiggsFolly
1
Теперь есть (WAMPSERVER 3) простой пункт меню в wampmanager, чтобы сделать это, если вы действительно не понимаете, какая это плохая идея. right click wampmanager->Wamp Settings->Add localhost to urlЕдинственное хорошее в этом то, что вы можете легко выключить его снова, когда поймете, насколько это была плохая идея!
RiggsFolly
24

Открыть index.phpв wwwпапке и установить

$suppress_localhost = false;

Это будет добавлено http://localhost/к ссылкам на ваш проект

Арун Унникришнан
источник
1
Обновление: есть новый способ сделать это. здесь: stackoverflow.com/a/40846681/3125936
Ахмед Файзан,
11

Чтобы получить доступ к проекту с домашней страницы, вам необходимо сначала создать виртуальный хост .

Самый простой способ сделать это - использовать утилиту Wamp Add a Virtual Host .

Просто выполните следующие действия:

  1. Создайте папку в каталоге «C: \ wamp \ www \» и дайте ей имя, которое вы хотите дать своему сайту, например. ' mysite '. Таким образом, путь будет «C: \ wamp \ www \ mysite» .
  2. Теперь откройте домашнюю страницу localhost в своем браузере, в меню « Инструменты» нажмите « Добавить виртуальный хост». ссылку « .
  3. Введите имя виртуального хоста , это имя должно быть именем папки, которую мы создали внутри каталога www, то есть « mysite ».
  4. Введите абсолютный путь к виртуальному хосту, например «C: \ wamp \ www \ mysite \» без кавычек, и нажмите кнопку ниже с надписью «Начать создание VirtualHost» .
  5. Виртуальный хост создан, теперь вам просто нужно «перезапустить DNS» . Для этого щелкните правой кнопкой мыши значок меню в трее сервера wamp, выберите Инструменты> Перезапустить DNS. и позвольте значку меню в области уведомлений снова стать зеленым.
  6. Все готово! Теперь просто создайте страницу index.php внутри каталога C: \ wamp \ www \ mysite \ . Добавьте код в файл index.php , например
    <?php echo "<h1>Hello World</h1>"; ?>

Теперь вы можете получить доступ к проектам с домашней страницы localhost. Просто щелкните ссылку проекта, и на экране появится надпись «Hello World».

Ракеш
источник
1
Я думаю, что это должен быть принятый awnser, потому что у меня была такая же проблема, и она сработала!
Nmaster88
1
этот последний и идеальный, он работал у меня. Благодарю . некоторые из приведенных выше ответов длинные и устаревшие.
Junaid
2
Это должен быть текущий принятый ответ по состоянию на 18.04.2017. У меня отлично сработало.
rolo
это сработало, однако виртуальный хост для одной из папок проекта, которые я создал, скажем, например, не изменил пример под заголовком «Ваши проекты» в качестве ссылки. Почему это?
Krys
Если у кого-то есть проблемы с папками проекта, которые не переключаются с черного текста на ссылки http, я воспользовался этим быстрым способом, чтобы включить его: откройте index.php из wamp / www /, скопируйте строку в строке 152: <li> <a href = "'. str_replace ('. conf ',' ', $ file).' /"> '. str_replace ('. conf ',' ', $ file).' </a> </li> и заменить строку <li>. $ файл. </li> в строке 359. Эй, привет!
Krys
2

Как исправить неработающие ссылки на значки (blank.gif, text.gif и т. Д.)

К сожалению, как упоминалось ранее, простое добавление виртуального хоста в ваш проект не исправляет неработающие ссылки на значки.

Проблема:

WAMP / Apache не изменяет ссылку на каталог для значков на соответствующий каталог установки. Для него статически установлено значение «c: / Apache24 / icons», и 99,9% пользователей, устанавливающих Apache, не находятся здесь. Особенно с 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 и наслаждайтесь своими классными иконками!

гипоксия
источник
Лучше более общее решение , чтобы изменить Aliasк Alias /icons/ "icons/"в версиях до WampServer 3. В WampServer 3 и выше это значение по умолчанию и не требует каких - либо изменений.
RiggsFolly
2

Вы можете выполнить все шаги с помощью @RiggsFolly, это действительно хороший ответ.Если вы не хотите создавать виртуальный хост и хотите использовать, как предыдущий localhost / example / или что-то в этом роде, вы можете использовать ответ от @Arunu

Но если проблема не исчезнет, ​​воспользуйтесь этим методом,

  1. Найдите папку с вашим wamp (например, c: / Wamp /), в которую вы установили
  2. Гото Вамп / www /
  3. Откройте файл index.php
  4. найди этот код $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$file.'">'.$file.'</a></li>';
  5. измените его, добавьте localhost после http: // $projectContents .= '<li><a href="'.($suppress_localhost ? 'http://localhost' : '').$file.'">'.$file.'</a></li>';
  6. Перезагрузите сервер Wamp
  7. откройте localhost, посмотрите обновленные ссылки

Надеюсь, у вас есть URL-адрес, как и в предыдущей версии сервера Wamp.

Хадка Пушпендра
источник
Не могли бы вы предложить на мотыге, что мы делаем это для xampp. Я пробовал все способы, но мой сайт все равно перенаправляется на домашнюю страницу
xampp
1
$suppress_localhost = false;

Это помогло мне.

Valtec
источник
1

Это работает на Wamp 3+.

  • Перейдите в папку wamp (wamp / или wamp64 /)
  • Откройте wampmanager.conf
  • Найдите параметр urlAddLocalhost и установите его: urlAddLocalhost = "on"

Не должно быть необходимости настраивать index.php в папке www.

Арно Лейдер
источник
Я нашел
Ns789, 01
0

Re: Ссылки на Wampserver LocalHost работают некорректно.
Это по состоянию на июнь 2014 года с Wampserver2.5 (возможно, они исправят это в более поздних сборках).
Примечание. Чтобы использовать LocalHost: 8080 вместо LocalHost, просто внесите соответствующие изменения в указанные ниже изменения.

У этой проблемы есть 2 аспекта
. Первый - это возможность получить доступ к элементам в разделе «Ваши проекты» с домашней страницы Wamp localhost.
Во-вторых, чтобы иметь возможность правильно обращаться к элементам, перечисленным в списке «Мои проекты» панели задач Wampserver Icon.

Чтобы исправить первое (чтобы иметь доступ к элементам в разделе «Ваши проекты» с домашней страницы Wamp localhost), вам необходимо сделать следующее ...

Есть 2 правкиВы должны внести в файл index.php, расположенный в папке wamp \ www (обычно C: \ wamp \ www).

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

После того, как вы внесете этот второй набор изменений, вам, возможно, придется заставить Wampserver обновить список «Мои проекты», переключив опцию «Подключить / Автономный» в нижней части приложения Wamp Icon Tray.

Стивен
источник
Потрясающий чувак, наконец то, что работает! (для обхода порта iis jacking 80, заставляющего сайт работать со страницы wamp localhost)
Cammy
-1
  1. проверьте, что значок сервера wamp зеленый или нет, если он зеленый, то он работает, если нет, вам необходимо выполнить следующие действия, чтобы сделать

    а. все программы должны быть закрыты перед запуском wamp, потому что в большинстве случаев некоторые программы, такие как skype, используют тот же порт (80), который используется wamp.

    б. вы можете изменить порт скайпа: Tool-s-> oprions-> advanced-> connection untick use port 80

  2. перезапустите вамп, он будет работать.

ВТОРОЙ случай

  1. когда вы нажимаете на проект в loalhost, он не показывает localhost перед именем проекта, и из-за этого похоже, что wamp не работает, тогда вам нужно только одно

    . перейдите в файл wamp index.php и измените $ suppress_localhost = false; от $ suppress_localhost = true; или попробуйте наоборот будет работать

Раман верма
источник
-1

Перейдите в каталог www (если вы используете сервер wamp) htdocs (если на XAMPP). Откройте свой admin.php и выполните поиск по содержимому проекта / или просто перейдите к строке номер 339 и измените ссылку, вставив в нее «локальный хост».

Это должно сработать,

Самоэй
источник
-1

Я считаю, что намного проще (чем принятый ответ) создать локальный поддомен по проекту и указать Apache для обслуживания нескольких сайтов по имени.

Например, предположим, что вы создали проект c:/wamp64/www/sites/mysite, чтобы получить к нему доступ по адресу http: //mysite.localhost, вам просто нужно сделать следующее:

1. Попросите свою машину отвечать на разные имена. Добавить 127.0.0.1 mysite.localhostвC:\windows\system32\drivers\etc\hosts

2. Промойте кэш DNS Откройте командную строку от имени администратора и типа net stop dnscache, то net start dnscache.

3. Сообщите Apache, где искать. Щелкните значок 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> раздел, чтобы предотвратить разрушение ссылок на корень сервера.

Лично я динамически вставляю этот html-код в свой шаблон с помощью PHP (что-то вроде $site_root = (IS_LOCALHOST) ? '<base href="http://mysite.localhost" />' : null;), поэтому мне не нужно беспокоиться об удалении его один раз при производстве.

Солнце
источник
-3

Здравствуйте, вам нужно открыть index.php с сервера Wamp и изменить $ suppress_localhost = false; от $ suppress_localhost = true; тогда ваш wamp будет работать нормально

Раман верма
источник
2
Есть множество ответов, которые говорят именно об этом.
Vael Victus
1
Значит, вы ничего не внесли.
Vael Victus