在作为CGI脚本运行时如何处理Dancer路线?

时间:2011-05-09 21:53:07

标签: perl apache mod-rewrite cgi dancer

我按照Dancer :: Deployment中的说明运行Perl Dancer框架,以便作为cgi脚本运行。这允许我显示'/'路线的默认页面,但除此之外我似乎无法做任何事情。例如,假设我想请求类似http://localhost/myroute的内容,并由'/ myroute'路由处理程序处理。我该怎么做呢?

我正在使用apache的mod_rewrite来指导我的请求。目前,如果我尝试上述操作,我最终会收到一条消息,例如“在此服务器上找不到请求的URL /cgi-bin/dancer.cgimyroute”。以下是我的.htaccess的内容。

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

我在Windows XP上使用Dancer 1.3030运行Apache 2.2。我理解为什么我收到的错误消息是我得到的。我正在寻找的是一些用于处理“/ myroute”路径的示例代码,以及关于我应该对我的.htaccess文件进行的任何修改的一些建议。

1 个答案:

答案 0 :(得分:2)

配置需要/后的dancer.cgi

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

感谢上面的昆汀。