我的网站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”命令。这两个命令使用基本相同的语法:a2ensite
a2dissite
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/moodle
为DocumentRoot /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
。