错误 500 ubuntu index.php 设置

错误 500 ubuntu index.php 设置

将文件放入 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

  1. DocumentRoot应该指向网站访问者将从其开始的目录,根据实体<Directory>,该目录应该是:

    /var/www/html/fullstack1/public
    
  2. 实体中的最后一个斜线<Directory>是不必要的:

    <Directory /var/www/html/fullstack1/public>
    
  3. 如果您正在运行现代版本的 Apache,则可以从实体中删除这两行<Directory>

    Order allow,deny
    Allow from all
    

    这些权限声明现在用语句来处理Require

  4. 如果 Apache 不知道在人们访问裸域时要提供什么服务,它将默认显示目录结构或显示错误。由于您正在运行基于 PHP 的站点,因此您可以在之后立即添加此行DocumentRoot

    DirectoryIndex index.php index.html index.htm
    

    index.php这将首先在目录中查找,如果 PHP 文件不存在,则/public首先失败,然后再查找。index.htmlindex.htm

处理完这些事项后,重新启动(或重新加载)Apache 服务器:

sudo service apache2 restart

这应该能满足你的需求

相关内容