我使用Mojolicious(不是精简版)和morbo服务器。 如何在http://www.domain.org处重定向来自http://domain.org的请求?
答案 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