【问题标题】:Laravel 4.1 relative urls resolutionLaravel 4.1 相对网址解析
【发布时间】:2014-04-10 10:31:06
【问题描述】:

我在 laravel 4 中找到了很多对相对 url 的引用,但没有解决我的(可能很简单)问题。 全新安装 Laravel 4.1,我只是尝试加载一个 style.css 文件,我将它放在 public/css/style.css 中

我在 view/hello.php 中用一个简单的方法调用它

<link href="<?php echo URL::asset('css/style.css');?>" rel="stylesheet" type="text/css">

如果我从内部网络打开broser,它工作正常。 如果我在防火墙上使用反向代理规则从外部打开,则 css 未加载,因为它链接到 192.168.1.1/css/style.css

我对 Yii 框架做了同样的事情,它在内部和外部请求中都可以正常工作,因为 我已经看到我有 css 的相对路径(/css/style.css)。

我的问题是我用 laravel 做了一个应用程序,在内网运行顺利,但我必须把它 可在外部使用反向代理规则(类似于 myapp.mydomain.com:1234)。 除了要加载的 css 或 js 文件外,应用程序无法从外部运行,因为所有路由都已解析 到内部服务器ip(192.168.1.1)。

再次尝试用 Yii 做一个简单的应用,运行流畅,内网比外网都好。

现在我的问题是:我是否在 laravel 配置中遗漏了什么,我需要找到解决方法或者我需要重写 我的应用使用了不同的框架?

【问题讨论】:

    标签: php apache laravel proxy


    【解决方案1】:

    通常相对 URL 只需要纯 HTML 中的相对文件路径:

    echo '<link href="css/style.css" rel="stylesheet" type="text/css">';
    

    不涉及 Laravel URL 构建。

    【讨论】:

    • 您对 css 或 js 的看法是正确的,但正如我所写,整个应用程序无法正常工作,因为我在任何地方都使用 url 生成器来调用路由,例如 URL::route('module.controller.行动')
    【解决方案2】:

    听起来您的外部请求没有到达项目根文件夹。

    我认为您需要设置一个虚拟主机来将流量从 myapp.mydomain.com:1234 引导到 Laravel 项目的 your.internal.address/public 文件夹。

    【讨论】:

      猜你喜欢
      • 2010-11-17
      • 2021-10-04
      • 2012-04-09
      • 2011-04-05
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      相关资源
      最近更新 更多