开发者

How do I handle Dancer routes when running as a CGI script?

开发者 https://www.devze.com 2023-03-04 06:42 出处:网络
I am running the Perl Dancer framework following the instructions written in Dancer::Deployment for running as a cgi-script. This allows me to display a default page for the \'/\' route, but I can\'t

I am running the Perl Dancer framework following the instructions written in Dancer::Deployment for running as a cgi-script. This allows me to display a default page for the '/' route, but I can't seem to do anything beyond that. For example, let's say that I want to req开发者_运维技巧uest something like http://localhost/myroute and have that handled by the '/myroute' route handler. How would I pull this off?

I am using apache's mod_rewrite to direct my requests. Currently, if I try the above, I end up with a message like "The requested URL /cgi-bin/dancer.cgimyroute was not found on this server." Below is the contents of my .htaccess.

<IfModule mod_rewrite.c>    
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ /cgi-bin/dancer.cgi$1 [QSA,L]
</IfModule>

I am running Apache 2.2 on Windows XP with Dancer 1.3030. I understand why I am getting the error message that I am getting. What I am looking for is some sample code for handling the "/myroute" route and perhaps some suggestions regarding any modifications that I should make to my .htaccess file.


The configuration needed a / after dancer.cgi:

<IfModule mod_rewrite.c>    
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ /cgi-bin/dancer.cgi/$1 [QSA,L]
</IfModule>

Thanks to Quentin above.

0

精彩评论

暂无评论...
验证码 换一张
取 消