rails:828
From: psychs@d...
Date: Sat, 24 Dec 2005 08:45:09 +0900 (JST)
Subject: [rails:828] URI を引数にアクションを呼ぶ方法
中川です。 Rails 1.0 で、以下のようなリクエストを受けた場合に、 http://localhost:3000/register/http://www.google.com/ 「http://www.google.com」を引数にして、あるアクションを呼びたいと思いま す。 そこで、route.rb のデフォルトルートの直前に、 map.connect 'register/:uri', :controller => 'urimanager', :action => 'register' という行を追加して、 http://localhost:3000/register/http://www.google.com/ にアクセスしてみると、やはり「/」を区切り文字として認識するようで、uri全 体を引数として受け取れませんでした。 WEBrick では、URIをエスケープして http://localhost:3000/register/http%3a%2f%2fwww.google.com%2f にアクセスすることで、「http://www.google.com/」を引数に受け取ることはで きました。 しかし、このアプリを Apache 2.0.49 + mod_fastcgi 2.4.2 の環境に持っていっ たときに、 http://localhost:3000/register/http://www.google.com/ http://localhost:3000/register/http%3a%2f%2fwww.google.com%2f のどちらにアクセスしても、404 が返ってきます。 public/.htaccess は、以下のように設定しています。 RewriteEngine On RewriteBase / RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] どのようにすれば、URIを(できればエスケープせずに)引数にしてアクションを 呼べるようにできるのでしょうか。 環境: Linux 2.4.2 Ruby 1.8.2 Ruby on Rails 1.0 Apache 2.0.54 mod_fastcgi 2.4.2 -- Satoshi Nakagawa -- ML: rails@r... 使い方: http://QuickML.com/ Web Site: http://wiki.fdiary.net/rails/ ML Archives: http://www.fdiary.net/ml/rails/
-> 828 2005-12-24 00:45 [psychs@d... ] URI を引数にアクションを呼ぶ方法 829 2005-12-24 00:59 ┗[kazuhiko@f... ] 833 2005-12-27 05:40 ┗[psychs@d... ]