Laravel 5 - 如何更改 route() 和 assets() url

Posted

技术标签:

【中文标题】Laravel 5 - 如何更改 route() 和 assets() url【英文标题】:Laravel 5 - how to change route() and assets() url 【发布时间】:2019-02-26 20:05:09 【问题描述】:

当我使用以下助手时:

assets('css/app.css');
route('home');

..它生成这个 URL:“http://myapp.vagrant/css/app.css”

但是,我想更改 URL 以生成“http://192.168.1.134:8088”,因为在我的情况下,我需要一个网络 IP。

我可以找到“myapp.vagrant”的设置位置。我已经更改了 Homestead.yaml 和 .env 文件,然后又再次销毁了 vagrant up。我已经尝试使用 grep 来定位该域的其他定义位置。

有什么建议吗? URL http://192.168.1.134:8088 正确指向该站点,但生成的 URL 使用了错误的 URL (myapp.vagrant)

顺便说一句,这是我的 apache 配置文件 (/etc/apache2/sites-available/myapp.conf):

<VirtualHost *:8088>
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    ProxyPass "/" "http://myapp.vagrant/"
    ProxyPassReverse "/" "http://myapp.vagrant/"
</VirtualHost>

所以http://192.168.1.134 是主机,我希望端口 8088 指向 http://myapp.vagrant/(/etc/hosts 将此域指向 vagrant IP).. 除非 Laravel 从这里获取此域?

【问题讨论】:

在 conf 文件中试试这个ProxyPreserveHost Off,我知道结果是什么 如果它不适合你,你必须ProxyPass "/" "http://192.168.1.134" ProxyPassReverse "/" "http://192.168.1.134" 嗨。 Off 是默认设置,但对于我的设置,ProxyPreserveHost On 现在可以使用。无论如何,感谢您为我指明正确的方向:) 最欢迎..! 【参考方案1】:

你可以使用.env文件来设置它

APP_URL=http://192.168.1.134:8088

【讨论】:

我已经设置好了。 Vagrant 再次启动,但它仍然有错误的域。 您是否已将Listen 192.168.1.134:8088 添加到您的虚拟主机配置文件中 如果有帮助,我已经添加了我的 apache 配置文件。 .env 更新后你php artisan cache:clean 了吗?

以上是关于Laravel 5 - 如何更改 route() 和 assets() url的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6 附加 Route::resource() 参数

Laravel 5.3更新记录。仅更新已更改的记录并保留未更改的记录

在 laravel 5.6.3 中更改登录的重定向 url

我在 laravel 5.6 路线中更改了 web.php,但仍然给了我旧路线

如何在laravel中更改各个页面的不同标题

Laravel 5 Route Group 和 Basic(/) GET Route 组内