关于多域名绑定,已经有很多讨论了,但我觉得通过Nginx去设置伪静态是不完美的.
https://www.workerman.net/q/11427 这个解决方案我也看过了,但改源码存在覆盖的问题,也不是很好的选择.
有没有一种办法能在config/route.php
这个配置文件里获取到当前host然后通过host分配不同的路由规则?
我想实现的代码好下:
<?php
use Webman\Route;
$host = request()->host();
// 主站
if ($host == 'www.domain.com' || 'domain.com') {
/** 这里是主站的路由配置 */
Route::disableDefaultRoute();
}
// 手机
if ($host == 'm.domain.com') {
/** 这里是手机站的路由配置 */
Route::disableDefaultRoute();
}
// 后台
if ($host == 'admin.domain.com') {
/** 这里是后台的路由配置 */
}
但实际上这里的 $host = request()->host();
是会报错的,请问有什么解决方案吗?
就用帖子里 https://www.workerman.net/q/11427 的方法就行,改support\Request.php 类,这个类是空类,升级不会被覆盖。
好吧 谢谢 那就用这方法吧
又出现新问题了,这样一来自定义路由好像又失效了...
https://my.oschina.net/owenzhang24/blog/5585429
你参考下这个
这个就是通过 Nginx 配置的,我想通过路由功能实现...
这个插件 https://www.workerman.net/plugin/11 可以看看
这个插件还是得配合 Nginx