Подтвердить что ты не робот

WAMP - удаление локального хоста из URL проекта

URL-адреса моих проектов в WAMP не разрешаются, как я ожидал. Например, я ожидаю, что проект в папке c:\wamp\www\project1 получит URL http://project1/, но на самом деле имеет URL http://localhost/project1/.

Это может вызвать проблемы при доступе к переменным сервера. Как это исправить?

4b9b3361

Ответ 1

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

На самом деле это изменение было задумано разработчиками WAMPServer и по уважительной причине.

Существует проблема с использованием URL-адреса localhost/project1 и стандартного WAMPServer DocumentRoot в том, что это вызывает проблемы для некоторых сред и сред типа WordPress, а также для вашего собственного кода, если вы используете код, который зависит от знания чего-либо о среде сервера.

Правильное решение - создать виртуальные хосты для всех ваших проектов, даже тех, которые хранятся в папках в стиле \wamp\www\project1.

При этом DocumentRoot является \wamp\www и именно это вызывает эти проблемы.

Эти инструменты ожидают, что DocumentRoot будет корнем сайта, т.е. \wamp\www\project1 чтобы при использовании таких переменных PHP, как

$_SERVER['HTTP_HOST']
$_SERVER['SERVER_NAME']
$_SERVER['DOCUMENT_ROOT']

они получают правильный ответ, то есть ответ, который они получили бы на реальном живом сервере, на котором размещался именно этот сайт

Таким образом, использование url в стиле localhost\project1 будет означать, что эти переменные вернутся

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

Когда они должны вернуться

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

Итак, что вы должны сделать, чтобы меню My Projects заработало и облегчило копирование сайтов на работающие серверы:

Создайте запись в файле HOSTS для каждого проекта следующим образом, и не забудьте создать запись для доступа через IPV4 (127.0.0.1) и одну для доступа через IPV6 (:: 1): -

127.0.0.1 localhost
127.0.0.1 project1

::1 localhost
::1 project1

Не забудьте обновить кэш DNS Windows после любого изменения этого файла следующим образом: -

Запустите командное окно, используя Run as Administrator и запустите: -

net stop Dnscache
net start Dnscache

Теперь вы должны создать определение виртуального хоста, поэтому отредактируйте \wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhost.conf (версии apache могут отличаться)

Удалите материал по умолчанию там в первый раз, когда вы делаете это. А затем создайте определения виртуального хоста следующим образом:

#
# Use name-based virtual hosting.
# This next line is not required if you are using Apache 2.4.x and should be deleted
NameVirtualHost *:80

## should be first so the wamp menu page loads and is the default site
## should also never be changed from only allowing access from the local machine
## for a bit of extra security from casual ip address probing
<VirtualHost *:80>
    DocumentRoot "C:/wamp/www"
    ServerName  localhost
    ServerAlias localhost
    <Directory  "C:/wamp/www">
        AllowOverride All

        <IfDefine APACHE24>
            Require local
        </IfDefine>

        <IfDefine !APACHE24>
            Order Deny,Allow
            Deny from all
            Allow from 127.0.0.1 localhost ::1
        </IfDefine>
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/wamp/www/project1"
    ServerName  project1
    ServerAlias project1
    <Directory  "C:/wamp/www/project1">
        AllowOverride All

        <IfDefine APACHE24>
            Require local
        </IfDefine>

        <IfDefine !APACHE24>
            Order Deny,Allow
            Deny from all
            Allow from 127.0.0.1 localhost ::1
        </IfDefine>

    </Directory>
</VirtualHost>

Теперь вам нужно сделать еще одно изменение, вы должны раскомментировать строку в httpd.conf которая включает в себя только что измененный файл выше. Поэтому отредактируйте файл httpd.conf, используйте меню wampmanager, чтобы убедиться, что вы редактируете правильный файл.

Найдите эту строку #Include conf/extra/httpd-vhosts.conf и удалите символ комментария # в начале строки следующим образом: -

Include conf/extra/httpd-vhosts.conf

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

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

Откройте окно командной \wamp\bin\apache\apache2.4.9\bin и CD в папку \wamp\bin\apache\apache2.4.9\bin.

Затем запустите это: -

httpd -t

Если ошибка в файлах httpd.conf или httpd-vhost.conf она сообщит вам об ошибке, а также даст номер строки, чтобы сделать поиск ошибки очень простым.

Ответ 2

в вашей папке www откройте index.php при изменении строки 30: $ suppress_localhost - false

это должно выглядеть:

$suppress_localhost = false;

Ответ 3

В папке www откройте index.php в строке 30. Здесь измените $suppress_localhost на false. Итак, это должно выглядеть:

$suppress_localhost = false;

Это было самым быстрым и легким решением для меня. Я использую 64-битный Wamp.

Ответ 4

Кажется, что ваш образец настроен на запуск веб-сайта на обычно несуществующем домене helloworld.

добавить:

 127.0.0.1    helloworld

внутри этого файла: c:\windows\system32\drivers\etc\hosts

Убедитесь, что вы создали текстовый редактор с правами администратора, чтобы иметь возможность редактировать этот файл.

Это сообщит компьютеру, что иначе несуществующий домен helloworld должен быть разрешен на ваш обратный адрес цикла.

Ответ 5

Хорошо, у меня была эта проблема. Итак, я устранил проблему и проследил ее до фактического решения, а не A HACK.

РЕШЕНИЕ:

  • Значок WAMP-сервера правой кнопкой мыши
  • Выберите WAMP Settings,
  • Выберите (включить) вариант Add localhost in URL


DONE. Остальное - FYI о том, как и почему.


Примечание: localhost/myproject.php или myproject.php. Хотя решение уже было принято, я видел несколько сообщений, которые меня смутили. Принятое решение основано на одном проекте по различным серверным приложениям, основанным на конкретном вопросе OP и влиянии на этот единственный проект. Но все другие решения - это хаки и на самом деле не отвечают на решение вопроса OP, но приносят хороший момент в отношении URL-адреса. Итак, согласно другим "решениям", вот как переключить ссылку localhost в URL. Следовательно, мое дополнительное решение добавлено в микс.


This is a toggle switch.

Процесс устранения неполадок (без взлома):



Загляните в index.php

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


Посмотрите на файл конфигурации. Обратите внимание на переменные и массив?

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


Вот массив. Переменная, используемая ранее. Посмотрим... О, это говорит нам, где и что делать.

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


Как отмечено в РЕШЕНИЕ:

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

Ответ 6

Для меня был самый простой способ перейти на http://localhost, а на домашней странице wampserver используйте Add a Virtual Host (раздел "Инструменты" ). Существует хорошая и простая форма для создания псевдонима без каких-либо проблем (вместо этого консоль при использовании значка в трее для создания псевдонима). Нет редактирования исходного кода, просто используя то, что предлагает вамп. Не забудьте обновить DNS после создания псевдонима. Протестировано на Win10, WampServer 3.0.6 64bit.

Ответ 7

Создайте виртуальный хост, например, RiggsFolly.

И попробуйте раскомментировать LoadModule rewrite_module modules/mod_rewrite.so в httpd.conf

Ответ 8

Если ваша папка "Ваши проекты" существует в "wamp/www/", и если вы можете увидеть домашнюю страницу локального хоста после правильного ввода в эксплуатацию, и вы все равно не можете получить доступ к своим проектам, просто перейдите в папку www, откройте index.php и найдите $suppress_localhost и установите его значение false. Перезапустите wampserver, перейдите на localhost и попробуйте получить доступ к вашему проекту.

Ответ 9

HostnameLookups ON не выключен в httpd.conf с DocumentRoot изменен или нет. протестирован в браузере для   $ _SERVER [ 'HTTP_HOST']   $ _SERVER [ 'SERVER_NAME']   $ _SERVER ['DOCUMENT_ROOT']

Ответ 10

C:\wamp\www

In index.php 
line 338 

($suppress_localhost ? 'http://' : '')


change http://   to http://localhost/

Ответ 11

Для этого вы можете создать виртуальный хост с помощью утилиты Add a virtual Host в меню Сервис на домашней странице. Дополнительные сведения о том, как создать виртуальный хост посетили: Пошаговые инструкции

Ответ 12

Я думаю, что самый простой и быстрый способ - это:

Откройте index.php в вашей папке www >>> change: $ suppress_localhost будет false/no.

Ответ 13

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

Ответ 14

i также столкнулась с такой же проблемой после установки новой настройки Wamp в окне 7, 64 бит. просто измените строку нет. 30 $ suppress_localhost = false; Его работа для меня.

Ответ 15

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

$suppress_localhost = True; === > $suppress_localhost = false;

это работа.

Ответ 16

Вы можете обновить переменную "urlAddLocalhost" в файле "wamp64/wampmanager.conf" для включения/выключения. По умолчанию он отключен.
Моей версией wamp 3.0.6.

urlAddLocalhost = "off" 

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