Home > Mobile >  My website URL with www shows the correct content but shows the Apache2 Ubuntu Default page without
My website URL with www shows the correct content but shows the Apache2 Ubuntu Default page without

Time:01-22

I followed the How To Deploy a Flask Application on an Ubuntu VPS and How To Install the Apache Web Server on Ubuntu 20.04 from Digital Ocean where my hosting is. I have two type A DNS records set up where the hostname is my URL with www and my URL without it, that direct to the value of my public IP.

I can change which address shows the correct information by changing ServerName to either my public IP, my website with www, or my website without www. How can I make it so that www.mywebsite.com and mywebsite.com both show correctly? A redirect surely can't be the right answer?

Here is the conf file: /etc/apache2/sites-available/FlaskApp.conf

<VirtualHost *:80>
                ServerName www.mywebsite.com
                ServerAdmin [email protected]
                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>

I tried adding a permanent redirect it didn't work.

<VirtualHost *:80>
                ServerName www.mywebsite.com
                Redirect permanent / http://mywebsite.com/
                ServerAdmin [email protected]
                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>

CodePudding user response:

For anyone else with this problem I found a solution by adding a server alias:

<VirtualHost *:80>
            ServerName www.mywebsite.com
            ServerAlias mywebsite.com
            ServerAdmin [email protected]
            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>

  •  Tags:  
  • Related