【问题标题】:How to change url by routing in laravel?如何通过laravel中的路由更改url?
【发布时间】:2017-03-23 02:11:25
【问题描述】:

Route::get('test','ProfileController@test'); 我有上面的路线,在 url 中点击这条路线时,我看到 www.example.com/test, 是否可以仅针对此特定路由使用 laravel 路由将 url 更改为 something.com/test。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    example.com是你的域名,那么你需要购买something.com 那么你需要配置 something.com 指向你的服务器,该服务器托管你的 laravel 应用程序。然后你可以做某事.com/test。

    记住,

    example.com -> 翻译为 XXX.XXX.XXX.XXX IP

    something.com -> 需要翻译成同一个XXX.XXX.XXX.XXX IP

    因为example.com 是主机部分,/test 是您应用的路径。

    【讨论】:

    • 谢谢你的回答,但在我的例子中 example.com 有另一个应用程序正在运行,something.com 是它的子域。我想知道我们可以从 laravel 更改整个 url 名称吗?就像在我的情况下,对于上述路由“测试”,url 子域名/测试中总会有,我可以将此 url 更改为 myprofile/test,对于其他路由,可以有子域名/登录等路由。
    • Route::group(['prefix'=>'subdomainname'],function(){ Route::get('test','ProfileController@test'); });
    • 我认为你可以在组上做这样的事情加上前缀。
    • 在这个里面你可以添加登录路由和其他你喜欢的路由。
    • 对不起!哦,我明白了!查看下一个答案..我同意 wunch 解决方案!
    【解决方案2】:

    如果不实际重定向到该新域,则无法更改 url 的可见域部分。 (这样做会带来严重的安全风险。)

    如果你想重定向到其他域(假设它存在),你可以这样做:

    // Redirect a route to another URL (note the use of the http://)
    Route::get('/test', function() {
        return redirect('http://something.com/test');
    });
    

    但是,如果目标是运行相同应用程序的当前域的子域或别名,那么您可以使用subdomain routing。我喜欢使用命名路由:

    // Define the route on the subdomain
    Route::group(['domain' => 'subdomain.example.com', function() {
        Route::get('/test', ['as' -> 'subdomain.test', 'uses' => 'ProfileController@test']);
    });
    
    // Redirect a route on the main domain to the subdomain
    Route::get('/test', function() {
        return redirect()->route('subdomain.test');
    });
    

    【讨论】:

      猜你喜欢
      • 2018-09-18
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2014-12-01
      • 2017-04-10
      相关资源
      最近更新 更多