Я бы хотел запустить два веб-сайта с XAMPP для Linux на моем компьютере:
Они совершенно не связаны, и я не хочу, чтобы один работал в субдомене другого, и я не хочу связываться с файлом .htaccess.
Как лучше всего это сделать?
Просто настройте свой vhosts, как:
Name VirtualHost 127.0.0.1
<VirtualHost *:80>
DocumentRoot /www/thesis
ServerName thesiswork
</VirtualHost>
<VirtualHost test2:80>
DocumentRoot /www/test2
ServerName test2
</VirtualHost>
<VirtualHost test3:80>
DocumentRoot /www/test3
ServerName test3
</VirtualHost>
Затем в Вашем/etc/hosts файле просто делают следующее:
example.com 127.0.0.1
test2.example.com 127.0.0.1
test2.example.com 127.0.0.1
test2 127.0.0.1
test3 127.0.0.1
Тем путем можно просто перейти в: example.com или test3.example.com (после внесения изменений конфигурации в хосты, удостоверяется, что Вы перезапускаете сети.
Я рекомендую основанный на порте vhosts.conf как это (это - полный vhosts.conf):
NameVirtualHost *:80
<virtualHost *:80>
DocumentRoot "/var/www/"
ServerName localhost
ServerAdmin admin@localhost
</VirtualHost>
Listen 61 #use random free port number
<virtualHost *:61>
DocumentRoot "/var/vhosts/thesis/"
ServerName asdf
ServerAdmin admin@asdf
</VirtualHost>
Можно затем назвать страницу с http://localhost/ и вещь тезиса с http://localhost:61/
Преимущество основанных на порте по основанному на имени виртуальному хостингу состоит в том, что Вам не нужен домен, и Вы не должны смешивать со своим файлом hosts, который я нахожу, чтобы быть довольно "грязным".
Удостоверьтесь, что Вы предоставляете доступ к каталогу в этом, Вы хотите разместить свой файл тезиса в, например, в Вашем httpd.conf, или просто добавить его к Вашему vhosts.conf:
<Directory "/var/vhosts/">
Order Deny,Allow
Allow From All
AllowOverride All
</Directory>
Необходимо использовать основанный на имени виртуальный хост. Полное изложение перечислено здесь: http://httpd.apache.org/docs/current/vhosts/name-based.html
Основная идея состоит в том, что Вы настроите значение по умолчанию virtualhost на localhost с чем-то вроде этого:
<VirtualHost _default_:*>
DocumentRoot /www/default
</VirtualHost>
Затем для Вашего сайта тезиса Вы могли настроить другой virtualhost
<VirtualHost *:80>
DocumentRoot /www/thesis
ServerName thesiswork
</VirtualHost>
На Вашем локальном компьютере необходимо было бы затем отредактировать/etc/hosts файл для включения "thesiswork", указав 127.0.0.1
127.0.0.0/8 означает, что 127.0.0.2 и 127.0.0.3 и 127.0.0.4 и... до 127.254.254.254 или что-то как этот - доступные IP-адреса для использования. Таким образом, если имя базировалось, виртуальные хосты не достаточно хороши, у Вас мог бы быть differerent localhost как IP-адреса для каждого веб-сайта.