【问题标题】:redirect to a subdomain in rails 3重定向到 rails 3 中的子域
【发布时间】:2011-07-03 06:02:34
【问题描述】:

我刚刚在 Amazon EC2 上使用 apache2 和乘客设置了我的 rails 3。

一切都很好,但是当我在里面创建我的第一个项目时 /var/www/html/ror/public/ 项目没有出现。我尝试了 mydomain.com/example,这是我的项目的名称,它为我提供了我之前生成的 rails 项目的索引。当我说索引时,我的意思是所有文件夹的列表,而不从视图中呈现任何 html。我想我的问题是:如何将用户重定向到 mydomain.com/example/app/views/example/index.html.erb

我尝试使用 httpd.conf,但似乎没有任何结果。

谢谢

【问题讨论】:

    标签: ruby-on-rails apache2 amazon-ec2 passenger


    【解决方案1】:

    您需要将 RailsBaseURI /ror/public 添加到您的 apache 配置中。

    或者,符号链接:

    mkdir /var/rails
    mv /var/www/html/ror /var/rails
    cd /var/www/html
    ln -s /var/www/html/ror/public ror
    

    (不应将 Rails 应用程序源代码放在 apache 文档树中)

    然后RailsBaseURI /ror

    您的应用将位于 example.com/ror

    【讨论】:

    • 既然我在所有这些方面都是新手,请您更具体地了解 RailsBaseURI /ror 它在 httpd.conf 中的确切位置?
    • 任何地方,但我通常创建一个单独的文件——你可以把它放在 /etc/apache2/conf.d/rails.conf 中(如果它不存在就创建它)。
    【解决方案2】:

    您在部署网站时遇到问题。按照这个 -

    1. 创建一个虚拟主机

      $ sudo nano /etc/apache2/sites-available/app-name

    2. 将虚拟主机的内容改为

      <VirtualHost *:80>  
          ServerName  A.B.C.D  
          ServerAlias subdomain.abc.com  
          DocumentRoot /var/www/app-name/current/public
          RackEnv production
      </VirtualHost>
      
    3. 启用新网站

      $ sudo a2ensite demo-app

    4. 重启 Apache

      $ sudo /etc/init.d/apache2 restart

    确保提及正确的文档根目录。

    DocumentRoot /var/www/app-name/current/public
    

    更多详情 - https://docs.google.com/document/d/1Cw-oiE4AYrnbo_b7o593npTPaW8hRhRZERJ_ZETdrB8/edit?hl=en

    【讨论】:

    • 感谢您的反馈,我现在要重做整个事情,我会通知您。感谢您的宝贵时间\
    • 已修复,我的应用程序在开发模式而不是生产模式下运行。经典错误,但仍然......感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    相关资源
    最近更新 更多