[Dancer-users] Deploying with fcgid under a specific directory
ambs
ambs+dancer at perl-hackers.net
Sat Dec 18 16:55:32 CET 2010
After some talk in #dancer with Franck we found out that:
- apache + fcgid under a specific directory does not add an extra
slash to the URI
- standalone server, adds the slash because the script_name is empty.
While there isn't a fix on git/CPAN, I am using:
A function to replace my calls to request->base on my dancer code:
sub mybase {
my $base = request->base();
$base .= "/" unless $base =~ m'/$';
return $base;
};
Fix the template variable uri_base so that I can use it consistently
across standalone/apache ==> using <% uri_base %>name
before_template sub {
my $tokens = shift;
my $path = request->base->path;
$tokens->{uri_base} = $path eq '/' ? $path : $path.'/';
};
Please let me known when a solution is posted to cpan :)
Alberto
On 17/12/2010 22:07, ambs wrote:
> On 17/12/2010 22:01, ambs wrote:
>> Hello
>>
>> I am deploying dancer in a directory, like http://server/query instead
>> the root path.
>>
>> This is my redirect configuration:
>>
>> RewriteEngine On
>> RewriteCond %{REQUEST_FILENAME} !-f
>> RewriteRule ^/query(.*)$ /query/dispatch.fcgi$1 [QSA,L]
>>
>> While the main page works, when I use
>> <% request.base %>file
>> in a template, it gets
>> http://server/queryfile
>>
>> I tried to solve this, using <% request.base %>/file, but then it gets
>> as http://server//file when testing with bin/app.pl
>>
>> What am I doing wrong?
>>
>> Also, when using "redirect /" in Dancer code, should I use "redirect
>> /query" instead? Or "redirect request->{base}" ?
>
> OK, for this one, using request->base().
> Now, need to find out what to do with the above problem.
> _______________________________________________
> Dancer-users mailing list
> Dancer-users at perldancer.org
> http://www.backup-manager.org/cgi-bin/listinfo/dancer-users
More information about the Dancer-users
mailing list