0

私は、Rails サイクル全体 (開発 -> テスト -> 本番 (外部サーバー上)) を往復する最終段階にいます。私は非常に近いです...しかし、製品バージョンでいくつかのエラーが見られ、トラブルシューティングを行うためのRailsの「魔法」についてまだ十分に知りません...

これは機能します:www.mydomain.com/railsそして、私のアプリのビューを返します

しかし、これは次www.mydomain.com/rails/を返します(全体で):

<html>
<body>
Index from public
</body>
</html>

これはどこから来ているのですか!? 私はApacheを除外しました。Apacheはそのようなhtmlをディレクトリのインデックスとして返さないので...

追加: VirtualHost (リクエストごと):

<VirtualHost *:80>
    ServerName www.mydomain.com
    ServerAdmin admin@mydomain.com
    DocumentRoot "/Library/WebServer/mydomainweb"
    DirectoryIndex "index.html" "index.php"
    CustomLog "/var/log/apache2/access_log" "%h %l %u %t \"%r\" %>s %b"
    ErrorLog "/var/log/apache2/error_log"
    ErrorDocument 404 /error.html
    <IfModule mod_ssl.c>
        SSLEngine Off
        SSLCertificateFile "/etc/certificates/Default.crt"
        SSLCertificateKeyFile "/etc/certificates/Default.key"
        SSLCipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:!SSLv2:+EXP:+eNULL"
    </IfModule>
    <IfModule mod_dav.c>
        DAVLockDB "/var/run/davlocks/.davlock100"
        DAVMinTimeout 600
    </IfModule>
    <IfModule mod_mem_cache.c>
        CacheEnable mem /
        MCacheSize 4096
    </IfModule>
    <Directory "/Library/WebServer/mydomainweb">
        AllowOverride None
        <IfModule mod_dav.c>
            DAV On
        </IfModule>
        Options All -Includes -ExecCGI +MultiViews -Indexes
    </Directory>
    RailsBaseURI /rails
    <Directory /Library/WebServer/rails/myapp/public>
        Options -MultiViews -Indexes
    </Directory>
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_METHOD} ^TRACE
        RewriteRule .* - [F]
    </IfModule>
    <IfModule mod_proxy_balancer.c>
        <Proxy "balancer://balancer-group">
        </Proxy>
    </IfModule>
    <IfModule mod_alias.c>
        Alias "/collaboration" "/usr/share/collaboration"
        Alias "/icons/" "/usr/share/httpd/icons/"
        Alias "/error/" "/usr/share/httpd/error/"
        Redirect temp "/zapp.html" "/index.html"
    </IfModule>
    Include /etc/apache2/httpd_groups.conf
    Include /etc/apache2/httpd_teams_required.conf
    LogLevel warn
    ServerAlias mydomain.com
    ServerAlias images.mydomain.com
</VirtualHost>
4

2 に答える 2

0

2つ目は、www.mydomain.com / rails / mycontroller / show / 1を実行すると機能しますか?

mycontrollerと1の間の「show」で動作する場合は、ルートに問題があります。

于 2010-06-18T08:54:54.987 に答える
0

私の推測では、apache ではディレクトリの参照が有効になっており、パッセンジャーはこの要求を public フォルダーにルーティングし、それが apache direct に送信されると考えています。

あなたが試すことができます

  1. オプション インデックスを無効にしてディレクトリ ブラウジングを無効にする (インデックスを省略)
  2. routes.rb ファイルでそのパスへのルートを明示的にキャッチし、希望する場所にルーティングすることができます。
于 2010-06-18T05:29:38.513 に答える