我有这个特定于域的路由:
Route::group(['domain' => '{account}.mysystem.dev'], function()
{
Route::get('/', function($account)
{
return sprintf('Hello %s', $account);
});
});
我不想自己制作子域名,但要将所有子域名(*.mysystem.dev
)提供给Laravel来处理。
在我的MAMP Pro面板中,我在扩展选项卡字段Additional parameters for <VirtualHost>
:
ServerAlias mysystem.dev *.mysystem.dev
但它不起作用。
如果我在常规标签中添加别名如allendar.mysystem.dev
,它会引导我转到mysystem.dev
指令,但是Laravel并没有把它拿起来,因为它是{.mysystem.dev
的子域1}}。我认为它与Alias有关,实际上并不是一个子域名,但我不确定。
我怎么解决这个问题?
答案 0 :(得分:1)
我通过网络上的一些文档解决了这个问题:
这需要两个步骤;
第一步是使用.local
子域设置dnsmasq。它会在.local
4.eg *.something.local.
以及http://local
或stackoverflow.local
内收听每个域名。您可以
与.dev
brew install dnsmasq
cd $(brew --prefix); mkdir etc; echo 'address=/.local/127.0.0.1' > etc/dnsmasq.conf
sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
sudo mkdir /etc/resolver
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/local'
下一步是配置MAMP通过主配置将任何通配符传递到子域; 这样做:
遵循这些步骤
ServerAlias *.yourdomain.local
添加到Apache
答案 1 :(得分:0)
您无法添加通配符子域,因为它们不在/ etc / hosts中。
您必须手动添加它们,例如2 -3进行测试,或者创建单独的test1.mysystem.dev和test2.mysystem.dev进行测试。