我遵循了如何在 Ubuntu VPS 上部署 Flask 應用程式 和如何在 Ubuntu 20.04 上安裝 Apache Web 服務器, 來自我的主機所在的 Digital Ocean。我設定了兩個 A 類 DNS 記錄,其中主機名是我的帶有 www 的 URL,而我的 URL 是沒有它的 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 [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>
我嘗試添加一個永久重定向它不起作用。
<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>
uj5u.com熱心網友回復:
對于其他有此問題的人,我通過添加服務器別名找到了解決方案:
<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>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/418376.html
標籤:
