доступ к локальному виртуальному хосту из-за пределов локальной сети как виртуальный хост, например http://sitename вместо http://systemname/sitename - PullRequest
7 голосов
/ 03 ноября 2010

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

Conf: php, apache, windows xp, mysql.

Корень документа: d: \ www \ xampp \ htdocs,все проекты находятся под этим в подпапках.

Я настроил виртуальный хост, чтобы я не получал доступ ко всем проектам как http://localhost/foldername, а так же, как http://foldername.

Нодля дизайнера, который находится в другой системе, он должен получить доступ, например, http://computername/foldername

Например, позвольте мне работать в зарплате проекта.я получу доступ к этому как http://payroll, но мой дизайнер получит к нему доступ как http://computername/payroll.

Что я хочу сделать, так это то, что я хочу, чтобы дизайнер получил доступ таким же образом, как и я.это http://payroll.

, так что в системе конструктора, когда имя сервера - зарплата, я хочу, чтобы оно было направлено на мою машину, а затем в папку проекта.поэтому, если он дает http://payroll, тогда приложение в моей системе должно работать для него.

Я настроил файл hosts в системе конструктора так, чтобы он указывал на мою машину.так что эта работа сделана, и когда он дает зарплату, у меня появляется http://localhost.

что я должен сделать, чтобы дизайнер мог получить доступ к моему проекту, как http://payroll из своей системы?

Ответы [ 2 ]

7 голосов
/ 03 ноября 2010

Дизайнер должен добавить ваш IP-адрес с каждым sitename в свой файл hosts , так как без него его браузер не будет знать, где искать сайт. Это может выглядеть так:

12.34.56.78 sitename1
12.34.56.78 sitename2
12.34.56.78 repeat.for.each.sitename
...

Этого может быть достаточно, если ваши виртуальные хосты не привязаны к определенному IP-адресу. Это не будет работать:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
    ServerName sitename1
    ...
</VirtualHost>

Должно быть:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName sitename1
    ...
</VirtualHost>

Таким образом apache будет обслуживать сайт с именем sitename всякий раз, когда он видит запрос с именем хоста sitename, и не имеет значения, пришел он с того же компьютера или нет.

1 голос
/ 03 ноября 2010

Он может поместить в свой файл \ windows \ system32 \ drivers \ etc \ hosts:


1.2.3.4 payroll

Где 1.2.3.4 должен быть заменен IP-номером системы.

Файл Apache с поддержкой сайтов \ 000-default должен начинаться с:


<VirtualHost *:80>
        # from http://www.iliveinperego.com/2008/05/automatic-vhost-with-apache/
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^(.+)$
        RewriteRule ^(.+)$ /%1$1
  ...
</VirtualHost>
...