我的网站URL有www显示了正确的内容,但显示了没有www的Apache2 Ubuntu默认页面.我该如何更正



我学习了如何在Ubuntu VPS上部署Flask应用程序以及如何在Ubuntu 20.04上安装Apache Web服务器从我的主机所在的Digital Ocean。我设置了两个类型A的DNS记录,其中主机名是我的带www的URL和没有www的URL,直接指向我的公共IP的值。

我可以通过将ServerName更改为我的公共IP、带有www的网站或没有www的网站来更改显示正确信息的地址。我如何才能使www.mywebsite.com和mywebsite.com都正确显示?重定向肯定不是正确的答案吗?

这是conf文件:/etc/apache2/sites-available/FlaskApp.conf

<VirtualHost *:80>
ServerName www.mywebsite.com
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我尝试添加一个永久重定向,但没有成功。

<VirtualHost *:80>
ServerName www.mywebsite.com
Redirect permanent / http://mywebsite.com/
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

对于其他有此问题的人,我通过添加服务器别名找到了解决方案:

<VirtualHost *:80>
ServerName www.mywebsite.com
ServerAlias mywebsite.com
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

相关内容

最新更新