Apache Passenger 在 url 中处理 'www'

Apache Passenger handle 'www' in url

我使用 passenger 和 apache2 将应用程序部署到 EC2。

我已经注册了一个域(不是在 AWS 上)并且有两个 'A' 记录指向我的实例的弹性 IP

  1. appname.com.
  2. *.appname.com.

在我的 apache2.conf 文件(下方)中,我有 ServerName appname.com

当您在浏览器中输入 appname.com 时,该应用程序运行良好。但是如果你把 www.appname.com 放到浏览器中,你只会得到默认的 apache 页面。

有谁知道我在 ServerName 中输入了什么来处理这两个问题?我尝试在第一行下添加另一个 ServerName 行,但它不起作用。

感谢观看

/etc/apache2/apache2.conf

<IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.6
     PassengerDefaultRuby /usr/bin/ruby1.9.1
</IfModule>

<VirtualHost *:80>
  ServerName appname.com
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /home/ubuntu/projects/appname/public
  ErrorLog /home/ubuntu/projects/appname/log/error.log
  RailsEnv development

  <Directory /home/ubuntu/projects/appname/public>
     # This relaxes Apache security settings.
     AllowOverride all
     Require all granted
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>
</VirtualHost>

感谢 this post 我解决了这个问题(遗憾的是你不能使用你的 Whosebug 声誉在其他堆栈站点上感谢)

之下
ServerName appname.com

你把

AliasName www.appname.com

甚至更好

AliasName *.appname.com