Mojolicious从http://www.domain.org重定向到http://domain.org

时间:2014-07-22 21:34:46

标签: redirect mojolicious

我使用Mojolicious(不是精简版)和morbo服务器。 如何在http://www.domain.org处重定向来自http://domain.org的请求?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您的域名www.domain.org和domain.org必须在同一个IP地址转换。

例如,在您的App.pm文件中,您有以下行:

$r->get('/')->to('main#index')->name('index');

在您的Mojolicious主控制器中,您可以检查您的域名并进行重定向:

sub index {
        my $self = shift;
        my $host = $self->req->url->to_abs->host;
        return $self->redirect_to('http://domain.org') if $host eq 'www.domain.org';
}

仅将morbo服务器用于debuging。对于生产使用hypnotoad服务器。

答案 2 :(得分:0)

您必须拥有这两个域名,并且拥有www.domain.org的CNAME或A记录指向domain.org。这实际上是DNS设置。

现在,在您的Mojolicious应用中,您可能需要考虑到您正在接收某些用户对www.domain.org/someroute的请求以及其他人对domain.org/someroute的请求。

不止一种方法 - 毕竟这是Perl。

但是,如果您在生产中部署Mojolicious,我建议使用Apache或Nginx的反向代理设置。

这将允许您接收来自www.domain.org或domain.org的请求,并将这些请求代理到Hypnotoad。这样,您的应用程序永远不必担心使用哪个主机名来访问它。

http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#Nginx http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#Apache%2Fmod_proxy