Apache 给出了“它有效”页面,而不是网站主页

Apache 给出了“它有效”页面,而不是网站主页

我的网站www.domainname.com加载的是 apache2 的“它工作正常”页面,而不是位于 的预期的 moode 主页/var/www/html/moodle。moodle 目录中有一个索引文件index.php,但默认情况下不会使用它。如果我转到www.domainname.com/moodle网站,则会出现主页。配置文件/etc/apache2/sites-available/domainname.conf已启用。如何解决这个问题?

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    ServerName www.domainname.com
    ServerAlias domainname.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/moodle
    DirectoryIndex "index.php"
    # <Directory /var/www/html/>
    #       AllowOverride All
    # </Directory>  

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
 RewriteEngine on
 RewriteCond %{SERVER_NAME} =www.domainname.com
 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

答案1

您必须禁用示例站点并启用您的站点。您可以使用和命令执行moodle此操作。要启用或禁用使用 Apache 托管的站点,您可以分别使用“a2ensite”和“a2dissite”命令。这两个命令使用基本相同的语法:a2ensitea2dissite

a2ensite [site]
a2dissite [site]

[site]您的站点虚拟主机配置文件的名称位于 中,/etc/apache2/sites-available/减去“.conf”扩展名。例如,如果您站点的虚拟主机配置文件名为moodle.com.conf,而“It Works!”配置文件名为example.com.conf,则命令将如下所示:

a2ensite moodle.com
a2dissite example.com

此后,您可以通过键入以下内容重新启动 Apache sudo systemctl restart apache2,它现在就可以工作了。

(源自How do I enable/disable a website hosted with Apache? | Linode Questions

答案2

这是因为您正在使用默认html目录。

搬去/var/www/html/moodle/var/www/

 mv var/www/html/moodle /var/www  

更改DocumentRoot /var/www/html/moodleDocumentRoot /var/www/moodle在您的domainname.conf

用于a2ensite启用该网站或创建符号链接至/etc/apache2/site-enabled/

a2ensite domainname.conf

只需使用以下命令重新加载 apache2systemctl reload apache2

现在它应该可以按预期工作了。

答案3

这可以通过改变线路来解决

DirectoryIndex index.php

DirectoryIndex index.php /moodle/index.php

在文件中/etc/apache2/sites-available/site.conf

来源 : https://httpd.apache.org/docs/2.4/mod/mod_dir.html

相关内容