我正在查看Dayle 站点 consern路由,并且我无法实现以下子域路由。
Route::group(array('domain' => 'another.url.dev'), function()
{
    return 'Hello';
});我设置了一个名为url.dev的虚拟主机,它指向工作正常的\var\www\url.dev\public。
下一个是什么?如何访问another.url.dev?我试图以http://another.url.dev的形式直接访问它,但是找不到它。
我错过了什么吗?我是否必须配置服务器、主机等?
增编
我的目标是实现这样的东西
Route::group(array('domain' => '{account}.myapp.com'), function()
{
    Route::get('user/{id}', function($account, $id)
    {
        //
    });
});发布于 2014-01-28 01:31:19
您需要对您的开发环境和生产环境中的子域设置进行通配符重定向。
没有它们,对"http://somerandomsubdomain.example.com“的请求甚至永远不会被路由到应用程序。拉勒维尔甚至都没有机会处理这件事。
编辑:对不起,当我离开工作时,我留下了不完整的答案。
完全独立于您的Laravel应用程序,您将需要一种方式,子域被映射到一个IP地址。您必须在您的开发机器和生产服务器上设置它。
在生产中,这很容易。您必须添加一个DNS条目来创建CNAME记录。所以*.example.com只是指向example.com。如果您没有对DNS服务器的控制或访问权限,您的web主机或DNS提供程序可能必须为您执行此操作。
在您的开发机器上,这可能会更难一些。如果您正在使用本地DNS服务器,或者安装了dnsmasq或可用(可能在您的路由器上),您将创建一个CNAME记录,就像在生产中一样。
但是,许多开发环境依赖于自定义的主机文件,您不能在那里重定向通配符。但是,如果您提前知道您的子域将是什么,您只需将以下内容添加到/etc/hosts (OSX或*nix类系统)或%SystemRoot%\system32\drivers\etc\hosts中:
127.0.0.1 example.dev
127.0.0.1 sub1.example.dev
127.0.0.1 sub2.example.dev如果您能提供更多关于您的开发和生产环境的信息,我可能会提供更多的帮助。
同时,这个答案也可能有所帮助:https://stackoverflow.com/a/79811/388682
https://stackoverflow.com/questions/21395030
复制相似问题