【问题标题】:How to set a masked redirect in Laravel?如何在 Laravel 中设置屏蔽重定向?
【发布时间】:2020-06-27 17:13:28
【问题描述】:

如何将 www.domain.com(仅限 route('index'))的 redirect 设置为 web.domain.com 在www 上,它有一个 Laravel 应用程序,web 有 Wordpress?我有权访问域配置。

【问题讨论】:

  • 这个? return Redirect::to($url);laravel.com/docs/4.2/responses#redirects
  • 好吧,我需要一个屏蔽重定向。请看这个(蒙面重定向)。 websupport.sk/en/redirect
  • 到目前为止你有没有试过的代码?
  • 一个选项是创建一个视图并使用 iframe 在其中加载博客。
  • @AgnesPalit 我已经使用redirect() 尝试了大多数Route 方法,但它们都没有使用屏蔽url 重定向。 @wp78de 由于样式和安全问题,iframe 不是一个好的解决方案

标签: laravel laravel-6 http-redirect


【解决方案1】:

您可以使用(屏蔽)URL frame,例如,如果我正确理解您的层次结构:

Route::get('/index',function(){
    return view('blog');
});

block.blade.php:

<html>
    <body>
        <iframe src="http://web.domain.com"></iframe>
    </body>
</html>

或尝试在网络服务器级别不重定向的重写。如果您使用的是 Apache:

不带重定向的重写需要启用 mod_proxy,以及通过 Apache 的 httpd.conf 启用 mod_rewrite 和 .htaccess。 (除非它是同一个 VirtualHost,否则没有 mod_proxy 就无法完成,请参阅参考文献中替换部分中的绝对 URL。它“总是”强制外部重定向。)

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

#if not already web.mydomain.com
RewriteCond %{HTTP_HOST} !^web\.mydomain\.com$ [NC] 
#rewrite request is for www/* to web.mydomain.com
RewriteRule ^index/?$ http://web.mydomain.com/$1 [L,P,NC] 

【讨论】:

  • 谢谢@wp78de。不幸的是,由于共享主机,我无法访问 apache 设置。说到 iframe,它是一个安全的解决方案吗?
  • 肯定有一些downsides of URL masking,但是根据您博客的性质,如果两个站点都使用HTTPS并且您没有在它们之间传递数据,我认为您没问题。
猜你喜欢
  • 2012-12-10
  • 2014-07-20
  • 2018-04-19
  • 2019-11-03
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
相关资源
最近更新 更多