On Tue, Sep 14, 2010 at 11:13 AM, Michael Schuerig <mich...@schuerig.de> wrote:
>
> I have a resource whose public ID is a URL. The resulting URLs look like
> this
>
>  http://my-app.com/things/http%3A%2F%2Fexample%2Ecom/foo.png
>
> I make sure manually, that "." in URLs are encoded as "%2E". The route
> looks like this
>
>  get 'things/:url' => 'things#show'
>
> This works just fine with Mongrel, but it does not work with Apache and
> Passenger. The request doesn't even get through to my app, I only get a
> 404 response and a corresponding entry in
>
> /var/log/apache2/other_vhosts_access.log
>
> There is nothing in the app's log. The problem appears to be caused by
> the "/" in the :url parameter, even though they are encoded as "%2F".
>
> I'd prefer if I didn't have to read through all the ActionPack and Rack
> routing code to understand what's happening and find a remedy. It must
> be possible to do this cleanly.

Tricky issue. To fix, enable AllowEncodedSlashes in Apache:
http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes

jeremy

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to