【问题标题】:Mojolicious redirect from http://www.domain.org to http://domain.orgMojolicious 从 http://www.domain.org 重定向到 http://domain.org
【发布时间】:2014-07-22 21:34:46
【问题描述】:

我使用 Mojolicious(不是 lite)和 morbo 服务器。 如何将来自http://www.domain.org 的请求重定向到http://domain.org

【问题讨论】:

    标签: redirect mojolicious


    【解决方案1】:
    【解决方案2】:

    您的域名 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 服务器进行调试。用于生产使用 hypnotoad 服务器。

    【讨论】:

      【解决方案3】:

      您必须拥有这两个域名,并且 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 2015-12-09
        • 2012-11-19
        • 2019-09-10
        • 2017-10-06
        • 1970-01-01
        • 2017-11-04
        相关资源
        最近更新 更多