浏览器里的 route () 函数运行结果与 tinker 中的不一致?
由于电脑内存小,开多了应用非常卡顿,所以将homestead里面的应用移植到了本机,也配置了域名解析,域名为larashop.com
修改.env
的配置APP_URL=http://larashop.com
当访问相关页面时来解析代码route('products.show', $product->id)
blade模板解析出来是 http://localhost:8001/products/1
tinker中解析出来是 http://larashop.com/products/1
我尝试过清除配置和视图之类的缓存,但是都不解决问题,不知道是不是我漏了什么,请大神指点下!
为什么说是浏览器解析出来不是太懂,而且我感觉
route()
函数只是生成了/products/1
这个部分然后使用当前的域名进行重定向。@ddingchen 浏览器解析的意思就是route()函数在blade模版引擎中解析到的结果{{ route('products.show', id) }},我在chrome调试工具里查看源码看到的是localhost:8001 而不是我设置好的域名larashop.com
额我觉得这个配置的理解上你可能有些误解,看一下官方代码注释,这个配置就是为了console环境设定的。我还是觉得应该不是代码问题,应该是Web服务器之类的环境问题,或者不清楚你是不是因为访问的时候就是用的 localhost:8001 来访问站点所以导致这样的现象。
浏览器只是渲染一个页面,并不会解析任何东西
@Kevinvinvin 访问是用的域名 larashop.com 来访问,根据你的说法,好像确实是那个配置是为console设定的.如果是和环境配置的原因,这是我nginx的配置信息,而且我查看了homestead里面的环境配置,好像没多大的区别!
我看到你问题中写的网址是
http://larashop.com/products/1
,但是服务器配置里写的监听的是listen 8001
端口,所以难道不是应该http://larashop.com:8001/products/1
这样访问嘛,还是说只是你问题里没写全端口。检查下你请求的网址
@FMW @Kevinvinvin 请求的是本地localhost:8001 但是配置了域名解析域名是larashop.com,所以我是直接请求
http://www.larashop.com
就行了.可能是我没怎么描述清楚,可以看看这个https://github.com/laravel/framework/issues/18613
如果是这样的配置,那访问这个server就得
http://larashop.com:8001
这样访问。我不确定这一点你是不是误解了。