Apache для справки по настройке виртуального каталога Windows
Я запускаю Apache в Windows XP с помощью Xampplite и могу использовать помощь при настройке моего виртуального каталога. Вот то, что я надеюсь сделать в своем dev-блоке:
- Я хочу, чтобы мои исходные файлы находились вне xampp htdocs dir
- на моей локальной машине я могу получить доступ к проекту на http://myproject
- другие в моей локальной сети могут получить доступ к проекту в my.ip.address/myproject
- сохранить localhost, указывая на папку xampp htdocs, чтобы я мог легко добавлять другие проекты.
У меня есть 1 и 2, работая, редактируя файл хостов Windows и добавляя виртуальный каталог в файл xampp apache\conf\extra\httpd-vhosts.conf. Я не сразу вижу, как сделать 3, не испортив 4.
Ответы
Ответ 1
Выяснилось: используйте Alias для # 3 вместо VirtualHost, таким образом:
Alias /myproject "C:/path/to/my/project"
<Directory "C:/path/to/my/project">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Ответ 2
Чтобы выполнить свой список потребностей.
1) Создайте каталог:
mkdir c:\xampp\sites\myproject
2) Отредактируйте c:\windows\system32\drivers\etc\hosts, чтобы он содержал эту строку:
127.0.0.1 MyProject
и добавьте следующее в c:\xampp\apache\conf\extra\httpd-vhosts.conf:
NameVirtualHost myproject:80
<VirtualHost myproject:80>
DocumentRoot c:/xampp/sites/myproject
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
3) Добавьте следующие строки в конец c:\xampp\apache\conf\httpd.conf:
Alias /myproject/ "/xampp/sites/myproject/"
<Directory "/xampp/sites/myproject">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
4) Оставьте DocumentRoot, Directory и т.д. в папке c:\xampp\apache\conf\httpd.conf, чтобы выполнить это. Для справки эти строки:
DocumentRoot "/xampp/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Ответ 3
Сначала включить: LoadModule alias_module modules/mod_alias.so
<IfModule alias_module>
Alias /ddd "D:/prj/customer/www"
<Directory "D:/prj/customer/www">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</IfModule>
Протестировано на WAMP 2.2 и работает: http://localhost/ddd
Ответ 4
NameVirtualHost myproject: 80 < VirtualHost myproject: 80 >
</Directory>
Должно быть:
NameVirtualHost myproject: 80 < VirtualHost myproject: 80 >
</VirtualHost>
приветствует;)
Ответ 5
разрешил проблему. в нем отсутствовал тег каталога.
NameVirtualHost myproject:80
<VirtualHost myproject:80>
DocumentRoot "D:/Solution"
<Directory "D:/Solution">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Ответ 6
В httpd.conf добавьте следующие строки, mutatis mutandis:
<IfModule alias_module>
Alias /angular-phonecat "C:/DEV/git-workspace/angular-phonecat"
</IfModule>
<Directory "C:/DEV/git-workspace/angular-phonecat">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride all
Order allow,deny
Allow from all
Require all granted
</Directory>
Это отлично поработало на моей (Windows) XAMPP-установке после перезапуска сервера Apache. Я должен был добавить "Требовать все предоставленные", но в остальном это почти то же самое, что и приведенные выше ответы.
Ответ 7
Проблема решена простейшим способом и меньше шагов
Нет необходимости создавать виртуальный хост, просто измените расположение целевого каталога.
Вот что я сделал для конфигурации:
Я сделал это, отредактировав файл C:/xampp/apache/conf/httpd.conf
Чангинга, которые я сделал в файле httpd.conf
Добавлено это script сразу после
ScriptAlias /cgi-bin/ "C:/xampp/apache)/"
Alias /projectXYZ "C:/pathtomyproject"
Параметры индексов FollowSymLinks MultiViews ExecCGI AllowOverride All Разрешить заказ, отрицать Разрешить все
Pathtomyproject = Полный путь проекта
И изменил URL-адрес корня документа
DocumentRoot "C:/pathtomyproject"
Теперь перезапустите сервер Apache, остановив сервер.
Я остановил сервер Apache, а затем снова начал Apache Server.
Источник: http://bytespedia.blogspot.com/2013/12/creating-virtual-directory-in-apache.html