Mojolicious模板渲染中的基本URL

时间:2014-08-06 21:03:24

标签: perl mojolicious

对于每个模板渲染,是否有办法让/foo/bar等网址替换为海湾baseurl/foo/bar

2 个答案:

答案 0 :(得分:3)

绝对。您可以使用before_routes对象中的before_dispatch挂钩(或Mojolicious::App挂钩)来执行此操作。

app->hook( before_dispatch => sub {
        my $c = shift;
        unless ($c->req->url->path->to_route =~ m#/baseurl#) {
            $c->req->url->path( "/baseurl" . $c->req->url->path->to_string);
        }
    } );
...
app->start;

答案 1 :(得分:0)

我还无法添加评论,但我只是想添加一下暴徒是正确的 - 使用hooks的示例代码是推荐的URL重写方法:

http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#Rewriting