[英]Virtual host shows directory structure
目标 : - 正确设置虚拟主机。
目前我正在研究MAC系统版本10.10.05 os x yosemite。
我使用XAMPP配置了apache2,php和mysql
我已经按照配置虚拟主机的所有必要步骤进行操作。
我的文件/private/etc/apache2/extra/httpd-vhosts.conf就像
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName emsv2l.localhost.com
ServerAlias emsv2l.localhost.com
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/emsv2"
ErrorLog "/private/var/log/apache2/apple.com-error_log"
CustomLog "/private/var/log/apache2/apple.com-access_log" common
ServerAdmin webmaster@dev.plutustec.com
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName emsv2l-backend.plutustec.com
ServerAlias emsv2l-backend.plutustec.com
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/emsv2-backend/public“
ErrorLog "/private/var/log/apache2/apple.com-error_log"
CustomLog "/private/var/log/apache2/apple.com-access_log" common
ServerAdmin webmaster@dev.plutustec.com
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2-backend/public“>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
所以,现在,如果我写http://emsv2l.localhost.com/
将重定向到项目,而不是它显示目录结构。
我的/etc/hosts
文件就像
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
#127.0.0.1 localhost
#255.255.255.255 broadcasthost
#::1 localhost
#127.0.0.1 dev.local
#127.0.0.1 emsv2l-backend.plutustec.com # emsv2-backend
#127.0.0.1 emsv2l.plutustec.com # emsv2
#127.0.0.1 plutustec.com #localplutus site
127.0.0.1 emsv2l.localhost.com
127.0.0.1 emsv2l-backend.plutustec.com
任何帮助,将不胜感激。
您需要禁用目录列表,为此替换它:
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
附:
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
然后重新加载apache 。
有关详细信息,请点击此处
那么还有一件事,你在: /Applications/XAMPP/xamppfiles/htdocs/emsv2
有index.php或index.html吗?
您是否按照指南将vhost配置为信件? 如果是这样,您确定您配置的Apache是当前正在侦听端口80的那个吗? XAMPP应该内置自己的Apache,它不会运行默认配置。 您的XAMPP httpd.conf应包含:
# XAMPP VirtualHosts dir
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
要解决最快的问题:
cp -iv /private/etc/apache2/extra/httpd-vhosts.conf /Applications/XAMPP/etc/extra/httpd-vhosts.conf
如果要求覆盖确认,请按'y'
就我而言,
我正在使用macOS Mojave(Apache / 2.4.34)。 在/etc/apache2/httpd.conf文件中搜索文本“IfModule dir_module”。 检查IfModule指令/标记是否包含任何index.php。 如果没有在index.html之后添加index.php。 希望这会拯救你。
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.