Я уверен, что этот вопрос задают много раз, но я не сталкивался с проблемой. Я использую XAMPP там, где настраиваю Zend framework.
XAMPP работает на порту 8081, поскольку 80 занят некоторым процессом Windows, мне нужно использовать виртуальный хост, для которого я настраиваю с помощью следующего кода C:/xampp/apache/config/extra/httpd-vhosts.config
(или C:/xampp/apache/conf/extra/httpd-vhosts.conf
в более новых выпусках).
<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
<Directory "C:/xampp/htdocs/CommunicationApp/public"
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
а также обновите файл hosts 127.0.0.1 comm-app.local
и попробуйте перезапустить apache, но он показывает ошибку.
15:03:01 [Apache] Error: Apache shutdown unexpectedly.
15:03:01 [Apache] This may be due to a blocked port, missing dependencies,
15:03:01 [Apache] improper privileges, a crash, or a shutdown by another method.
15:03:01 [Apache] Press the Logs button to view error logs and check
15:03:01 [Apache] the Windows Event Viewer for more clues
15:03:01 [Apache] If you need more help, copy and post this
15:03:01 [Apache] entire log window on the forums
php
apache
zend-framework
xampp
virtualhost
Парас Арора
источник
источник
Ответы:
Я вижу две ошибки:
<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on ServerName comm-app.local DocumentRoot "C:/xampp/htdocs/CommunicationApp/public" SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing > DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> -> MIssing close container: </VirtualHost>
Фиксированная версия:
<VirtualHost *:8081> ServerName comm-app.local DocumentRoot "C:/xampp/htdocs/CommunicationApp/public" SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/CommunicationApp/public"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
Следует упомянуть одну вещь:
Вы всегда можете попробовать запустить команду:
Это подскажет вам, когда у вас неправильная конфигурация, и, возможно, даже подскажет, в чем проблема.
Кроме того, это помогает избежать недоступности в системе LIVE:
завершится, а затем не запустится, вы заранее знаете эту конфигурацию: «Ой, я сделал что-то не так, я должен сначала исправить это», но сам apache все еще работает со старой конфигурацией. :)
источник
Шаг 1) C: \ WINDOWS \ system32 \ drivers \ etc \ Откройте файл "hosts":
127.0.0.1 localhost 127.0.0.1 test.com 127.0.0.1 example.com
Шаг 2) xampp \ apache \ conf \ extra \ httpd-vhosts.conf
<VirtualHost *:80> DocumentRoot C:/xampp/htdocs/test/ ServerName www.test.com </VirtualHost> <VirtualHost *:80> DocumentRoot C:/xampp/htdocs/example/ ServerName www.example.com </VirtualHost>
Шаг 3) C: \ xampp \ apache \ conf \ httpd.conf. Прокрутите вниз до раздела «Дополнительная конфигурация» в конце и найдите следующий раздел (около строки 500). Удалите знак # в начале второй строки, чтобы раздел теперь выглядел так:
#Virtual hosts Include conf/extra/httpd-vhosts.conf
Шаг 4) Перезапустите XAMPP и запустите в браузере:
www.example.com or www.test.com
источник
127.0.0.4 mycustomdomain
он работает на порту 90, поэтому я использовал<VirtualHost 127.0.0.4:90>
. Не получается, когда я пытаюсьhttp://mycustomdomain
Добавьте этот код в C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName qa-staging.com ServerAlias www.qa-staging.com <Directory "c:/xampp/htdocs"> Order allow,deny Allow from all </Directory> </VirtualHost>
Теперь добавьте имя вашего виртуального хоста в файл ниже.
127.0.0.1 qa-staging.com
Если вы не можете сохранить этот код в файле хоста, щелкните правой кнопкой мыши на notpad и выберите Запуск от имени администратора, а затем вы можете сохранить свой собственный код, а теперь перезапустите свой XAMP.
источник
Запишите эти коды в конец файла C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf,
DocumentRoot "D:/xampp/htdocs/foldername" ServerName www.siteurl.com ServerAlias www.siteurl.com ErrorLog "logs/dummy-host.example.com-error.log" CustomLog "logs/dummy-host.example.com-access.log" common
между тегом виртуального хоста.
и отредактируйте файл System32 / Drivers / etc / hosts, используйте блокнот от имени администратора
добавить нижнюю часть файла
127.0.0.1 www.siteurl.com
источник
<VirtualHost *:80> DocumentRoot "D:/projects/yourdirectry name" ServerName local.yourdomain.com <Directory "D:/projects/yourdirectry name"> Require all granted </Directory> </VirtualHost>
Сохраните файл конфигурации Apache.
для получения подробной информации обратитесь к этому
источник
Просто измените порт на
8081
и следующий виртуальный хост будет работать:<VirtualHost *:8081> ServerName comm-app.local DocumentRoot "C:/xampp/htdocs/CommunicationApp/public" SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/CommunicationApp/public"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
источник
На вашем диске: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf существует пример, и вы можете отредактировать его в своей конфигурации:
##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host.example.com ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com" ##ServerName dummy-host.example.com ##ServerAlias www.dummy-host.example.com ##ErrorLog "logs/dummy-host.example.com-error.log" ##CustomLog "logs/dummy-host.example.com-access.log" common ##</VirtualHost>
Это будет примерно так, как пример, и не забудьте добавить VirtualHost для самого localhost, чтобы иметь возможность запускать phpmyadmin и другой проект одновременно на порту 80, как пример, который я покажу с проектом store.local :
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@store.local DocumentRoot "c:/xampp/htdocs/store.local/public" ServerName www.store.local ServerAlias store.local <Directory C:/xampp/htdocs/store.local> AllowOverride All Require all granted </Directory> </VirtualHost>
затем, как упоминалось выше, вы должны добавить: C: \ windows \ system32 \ drivers \ hosts в конец файла
127.0.0.1 store.local 127.0.0.1 www.store.local
перезапустите Apache и попробуйте в браузере:
store.local or www.store.local
может быть, в первый раз вам нужно добавить вот так:
http://store.local or http://www.store.local
чтобы использовать другие порты, перед вашим VirtualHost необходимо добавить следующее:
Listen 8081 or another which you prefer
тогда просто используйте порт для вашего VirtualHost следующим образом:
<VirtualHost *:8081> ServerAdmin webmaster@store.local DocumentRoot "c:/xampp/htdocs/store.local/public" ServerName store.local ServerAlias www.store.local <Directory C:/xampp/htdocs/store.local> AllowOverride All Require all granted </Directory>
затем перезапустите Apache и попробуйте в браузере
store.local:8081 or www.store.local:8081
и только проект, для которого вы добавляете порт, будет работать на этом порту, например, другие проекты и phpmyadmin будут по-прежнему работать на порту 80
источник
Документация по виртуальному хосту Apache Настройка виртуального хоста (vhost) дает несколько преимуществ:
Пример изменений в файле конфигурации -
D:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80> ServerAdmin localhost DocumentRoot "D:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost localhost:80> ServerAdmin webmaster@host.example.com DocumentRoot "/www/docs/host.example.com" #DocumentRoot "D:\xampp\htdocs\phpPages" ServerName host.example.com ErrorLog "logs/host.example.com-error_log" TransferLog "logs/host.example.com-access_log" </VirtualHost> # To get view of PHP application in the Browser. <VirtualHost *:80> ServerAdmin postmaster@dummy-host.localhost DocumentRoot "D:\xampp\htdocs\app1" ServerName app1.yash.com ServerAlias app1.yash.com ErrorLog "logs/app1.yash.com-error.log" CustomLog "logs/app1.yash.com-access.log" combined # App1 communication proxy call to Java War applications from XAMP <Location /ServletApp1> ProxyPass http://app1.yashJava.com:8080/ServletApp1 ProxyPassReverse http://app1.yashJava.com:8080/ServletApp1 Order Allow,Deny Allow from all </Location> </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@infotreesolutions.com DocumentRoot "D:\xampp\htdocs\app2" ServerName app2.yash.com ErrorLog "logs/app2.yash.com-error.log" CustomLog "logs/app2.yash.com-access.log" combined # App1 communication proxy call to Java War applications from XAMP <Location /ServletApp2> ProxyPass http://app1.yashJava.com:8080/ServletApp2 ProxyPassReverse http://app1.yashJava.com:8080/ServletApp2 Order Allow,Deny Allow from all </Location> </VirtualHost>
Обновите файл хостов Windows «Откройте файл хостов Windows, расположенный в
C:\Windows\System32\drivers\etc\hosts.
# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 127.0.0.1 test.com 127.0.0.1 example.com 127.0.0.1 myssl.yash.com
D:\xampp\apache\conf\httpd.conf, [httpd-ssl.conf](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html)
# Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> directive. # Listen 0.0.0.0:80 | [::]:80 Listen 80 LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule speling_module modules/mod_speling.so # ServerAdmin: Your address, where problems with the server should be e-mailed. # This address appears on some server-generated pages, such as error documents. # e.g. admin@your-domain.com ServerAdmin postmaster@localhost ServerName localhost:80 DocumentRoot "D:/xampp/htdocs" <Directory "D:/xampp/htdocs"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> # Virtual hosts Include "conf/extra/httpd-vhosts.conf" # ===== httpd-ssl.conf - SSL Virtual Host Context ===== # Note: Configurations that use IPv6 but not IPv4-mapped addresses need two # Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443" Listen 443 ## SSL Virtual Host Context <VirtualHost _default_:443> DocumentRoot "D:\xampp\htdocs\projectFolderSSL" ServerName myssl.yash.com:443 ServerAlias myssl.yash.com:443 ServerAdmin webmaster@localhost ErrorLog "logs/error.log" <IfModule log_config_module> CustomLog "logs/access.log" combined </IfModule> ## Redirecting URL from Web server to Application server over different machine. # myssl.yash.com:443/ServletWebApp <Location /path> ProxyPass http://java.yash2.com:8444/ServletWebApp ProxyPassReverse http://java.yash2.com:8444/ServletWebApp Order Allow,Deny Allow from all </Location> #SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateFile "D:\SSL_Vendor\yash.crt" #SSLCertificateKeyFile "conf/ssl.key/server.key" SSLCertificateKeyFile "D:\SSL_Vendor\private-key.key" #SSLCertificateChainFile "conf/ssl.crt/server-ca.crt" SSLCertificateChainFile "D:\SSL_Vendor\intermediate.crt" </VirtualHost> # ===== httpd-ssl.conf - SSL Virtual Host Context =====
@видеть
источник
Я исправил это, используя следующую конфигурацию.
Listen 85 <VirtualHost *:85> DocumentRoot "C:/xampp/htdocs/LaraBlog/public" <Directory "C:/xampp/htdocs/CommunicationApp/public"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
источник
Я немного опоздал на вечеринку, но я написал этот небольшой сценарий bash для Mac, который создает VirtualHost через терминал:
#!/bin/bash echo "Welcome to the VirtualHostCreator! Press <RETURN> to continue." read echo "Enter the name the VirtualHost you would like to create. No spaces or dashes, please." read hostname echo "Enter the document root of the VirtualHost." read doc_root echo "Creating VirtualHost \"$hostname\". You may be prompted for your password." hosts_file="/etc/hosts" vhosts_file="/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf" restart_command="sudo /Applications/XAMPP/xamppfiles/xampp restart" cat >> $vhosts_file << EndOfMessage <VirtualHost ${hostname}> ServerName ${hostname} DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/${doc_root}" </VirtualHost> EndOfMessage sudo sh -c "echo \"127.0.0.1 $hostname\" >> $hosts_file" $restart_command
Я уверен, что можно сделать несколько улучшений, и у него есть только два требуемых параметра для vhost (имя сервера и корень документа), но он выполняет свою работу гораздо быстрее и эффективнее, чем открытие и редактирование всех файлов. вручную, а также автоматически перезапускает XAMPP впоследствии.
Это предполагает, что у вас есть место установки по умолчанию для XAMPP, которое все можно изменить.
источник
Шаг 1) Откройте файл хоста в папке «C: \ Windows \ System32 \ drivers \ etc»
Добавить
127.0.0.1 vipsnum.mk
Шаг 2) Откройте файл httpd-vhosts.conf в папке «C: \ xampp \ apache \ conf \ extra»
Добавить
<VirtualHost vipsnum.mk:80> ServerName vipsnum.mk DocumentRoot "C:/xampp/htdocs/vipnum/" SetEnv APPLICATION_ENV "development" <Directory "C:/xampp/htdocs/vipnum/"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
источник
1. C:\xampp\apache\conf\https.conf Virtual hosts Include conf/extra/httpd-vhosts.conf 2. C:\Windows\System32\drivers\etc\hosts 127.0.0.1 localhost 127.0.0.1 helpdesk.local 3. C:\xampp\apache\conf\extra\httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/helpdesk/public" ServerName helpdesk.local </VirtualHost> Now, Restart Apache and go through the link. URL : http://helpdesk.local
источник
Проблема с xampp в моем случае заключается в том, что используется другая папка, отличная от htdocs, особенно с несколькими доменами и выделенными папками. Это потому, что
httpd-ssl.conf
это тоже ссылка<VirtualHost>
.Для этого удалите всю
<VirtualHost>
запись подhttpd-ssl.conf
Оттуда любые настройки, которые вы сделаете в своем,
httpd-vhosts.conf
будут обновлены, как ожидалось,http
иhttps
ссылки.источник
Я уже давно искал решение. И наконец у меня есть ответ. Если ваш виртуальный хост не работает на вашей Windows 10 или 7 и т. Д., Это из-за новой шумихи по https, когда все сайты перенаправляются на https.
XAMPP следует той же тенденции, поэтому исправления виртуальных хостов, файлов хостов и т. Д. Недостаточно из-за строгого перенаправления https. Вот полное решение.
Мой желаемый сайт находится в D: \ xampp \ htdocs \ ikeen.
1) Добавьте это в свой httpd-vhosts.conf:
<VirtualHost *:80> ServerName localhost DocumentRoot "D:\xampp\htdocs" <Directory "D:\xampp\htdocs"> DirectoryIndex index.php </Directory> </VirtualHost> <VirtualHost *:80> ServerName ikeen.localhost DocumentRoot "D:\xampp\htdocs\ikeen" SetEnv APPLICATION_ENV "development" <Directory "D:\xampp\htdocs\ikeen"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
2) Добавьте это в конец httpd.conf:
<Directory /> AllowOverride none Require all granted </Directory>
3) Добавьте эту строку в свой файл hosts в каталоге Windows
127.0.0.1 ikeen.localhost
4) Последний шаг - изменить раздел VirtualHost вашего файла httpd-ssl.conf на следующий
<VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "D:/xampp/htdocs" #ServerName www.example.com:443 ServerName localhost ServerAdmin admin@example.com ErrorLog "D:/xampp/apache/logs/error.log" TransferLog "D:/xampp/apache/logs/access.log" # General setup for the ikeen host DocumentRoot "D:/xampp/htdocs/ikeen" #ServerName www.example.com:443 ServerName ikeen.localhost ServerAdmin admin@example.com ErrorLog "D:/xampp/apache/logs/error.log" TransferLog "D:/xampp/apache/logs/access.log"
Перезагрузите и будьте счастливы :)
источник
Я добавил ниже конфигурацию в httpd.conf и перезапустил службу lampp, и она начала работать. Спасибо всем вышеперечисленным сообщениям, которые помогли мне решать проблемы одну за другой.
Listen 8080 <VirtualHost *:8080> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/opt/lampp/docs/dummy-host2.example.com" ServerName localhost:8080 ErrorLog "logs/dummy-host2.example.com-error_log" CustomLog "logs/dummy-host2.example.com-access_log" common <Directory "/opt/lampp/docs/dummy-host2.example.com"> Require all granted </Directory> </VirtualHost>
источник
Все просто: вы можете увидеть приведенный ниже шаблон и использовать его соответственно. Очень часто создавать виртуальный хост и очень просто. Обязательно подойдет шаблон ниже.
<VirtualHost *:8081> DocumentRoot "C:/xampp/htdocs/testsite" ServerName testsite.loc ServerAlias www.testsite.loc <Directory "c:/xampp/htdocs/testsite"> Order allow,deny Allow from all </Directory> </VirtualHost>
Также для получения дополнительной информации о виртуальном хосте посетите этот сайт. http://www.thegeekstuff.com/2011/07/apache-virtual-host
Благодаря,
источник