Redirect 从http://www.domain.org 到http://domain.org

Redirect 从http://www.domain.org 到http://domain.org,redirect,mojolicious,Redirect,Mojolicious,我使用Mojolicious(不是lite)和morbo服务器。 如何从处重定向请求?您的域名www.domain.org和domain.org必须在同一ip地址转换 例如,在App.pm文件中,您有以下几行: $r->get('/')->to('main#index')->name('index'); 在Mojolicous主控制器中,您可以检查域名并执行重定向: sub index { my $self = shift; my $host

我使用Mojolicious(不是lite)和morbo服务器。
如何从处重定向请求?

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

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

$r->get('/')->to('main#index')->name('index');
在Mojolicous主控制器中,您可以检查域名并执行重定向:

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服务器。对于生产,请使用hypnotoad服务器。

您必须同时拥有这两个域名,并且拥有指向domain.org的www.domain.org的CNAME或记录。这是真正的DNS设置

现在,在你的Mojolicous应用程序中,你可能需要考虑这样一个事实:你正在接收一些用户对www.domain.org/someroute的请求,以及其他用户对domain.org/someroute的请求

实现它的方法不止一种——毕竟这是Perl

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

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