Я играл с файлом Windows HOSTS, который, кажется, находится в папке c: \ windows \ (Windows 95, 98 y Me) и в папке C \ Windows \ system32 \ drivers \ etc \ in (Windows NT, 2000, XP и Vista)
Я хотел бы указать
http: // мойдомен / в конкретную папку моего веб-сервера. I Файл Hosts в настоящее время выглядит так:
127.0.0.1 domainA
127.0.0.1 domainB
Но я бы хотел
http://domainA/ points to http://127.0.0.1/domainA/
http://domainB/ points to http://127.0.0.1/domainB/
Как я могу этого добиться?
Тесты
Чтобы использовать rewriteModule, раскомментируйте следующую строку в файле httpd.conf:
LoadModule rewrite_module modules/mod_rewrite.so
Следующий код не то, что я искал.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domainA [NC]
RewriteRule ^/(.*) http://127.0.0.1/domainA/$1 [L,R]
С помощью приведенного выше кода при вводе текста в браузере http: // domainA / он автоматически меняет его на http://127.0.0.1/domainA/ но я хочу, чтобы это оставалось http: // domainA / при обслуживании содержания http://127.0.0.1/domainA/ папка.
например. http://127.0.0.1/ указывает на / htdocs
я хочу http: // domainA / указать на / htdocs / domainA
Добавьте в apache httpd.conf следующие строки:
<VirtualHost *:80>
ServerName http://domainA/
DocumentRoot "/htdocs/domainA"
</VirtualHost>
<VirtualHost *:80>
ServerName http://domainB/
DocumentRoot "/htdocs/domainB"
</VirtualHost>
Второй ответ:
Вы должны использовать возможности виртуального хоста apache:
<VirtualHost *:80>
# url like http://127.0.0.1/.....
ServerName 127.0.0.1
DocumentRoot /htdocs
</VirtualHost>
<VirtualHost *:80>
# url like http://domaina/.....
ServerName domaina
DocumentRoot /htdocs/domaina
</VirtualHost>
Вы говорите о двух разных мыслях:
вы не можете писать URL-адреса с помощью файла hosts.
делать :
http://domainA/ points to http://127.0.0.1/domainA
Вам нужно использовать api для записи URL на вашем веб-сервере:
или
Пример конфигурации для apache:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domainA [NC]
RewriteRule ^/(.*) http://127.0.0.1/domainA/$1 [L,R]
RewriteCond %{HTTP_HOST} ^domainB [NC]
RewriteRule ^/(.*) http://127.0.0.1/domainB/$1 [L,R]
Единственная цель файла HOSTS - сопоставление имен с IP-адресами; он не имеет ничего общего с URL-адресами (то же самое и с DNS). Вы просто не можете этого сделать.
Помимо перезаписи URL-адресов, как предлагается, вы также можете использовать заголовки хоста:
Таким образом, когда вы звоните http: // domainA, вы увидите первый веб-сайт; когда ты звонишь http: // domainB, появится второй; веб-сервер автоматически распознает, с каким именем он был вызван, и обслуживает соответствующий веб-сайт, даже если оба работают на одном IP-адресе.
Если вы хотите использовать IIS, вам необходимо запустить серверную версию Windows, чтобы создать несколько веб-сайтов; IIS в клиентских системах, таких как XP и Vista, поддерживает только один сайт.