将文件放入 html 目录后,我收到此错误,我对此设置感到困惑。我想我必须打开文件index.php
,但我收到 500 错误。请告诉我您发现的任何错误。
数据来自/etc/apache2/sites-available/fullstack1.conf
:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.fullstack1.xyz
ServerAlias fullstack1.xyz
DocumentRoot /var/www/html/fullstack1
<Directory /var/www/html/fullstack1/public/>
DirectoryIndex index.php
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
</VirtualHost>
数据来自/etc/apache2/apache2.conf
:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
答案1
看起来您需要在文件中查看以下几项内容fullstack1.conf
:
您
DocumentRoot
应该指向网站访问者将从其开始的目录,根据实体<Directory>
,该目录应该是:/var/www/html/fullstack1/public
实体中的最后一个斜线
<Directory>
是不必要的:<Directory /var/www/html/fullstack1/public>
如果您正在运行现代版本的 Apache,则可以从实体中删除这两行
<Directory>
:Order allow,deny Allow from all
这些权限声明现在用语句来处理
Require
。如果 Apache 不知道在人们访问裸域时要提供什么服务,它将默认显示目录结构或显示错误。由于您正在运行基于 PHP 的站点,因此您可以在之后立即添加此行
DocumentRoot
:DirectoryIndex index.php index.html index.htm
index.php
这将首先在目录中查找,如果 PHP 文件不存在,则/public
首先失败,然后再查找。index.html
index.htm
处理完这些事项后,重新启动(或重新加载)Apache 服务器:
sudo service apache2 restart
这应该能满足你的需求