Acrylic DNS Proxy无法用于动态创建通配符子域名。
Acrylic DNS Proxy无法用于动态创建通配符子域名。
在Laravel 5.4中,我想动态创建子域名。根据Stack Overflow上的这个答案,我按照以下步骤进行操作:
首先,我下载并安装了Acrylic DNS Proxy程序。然后,我在Acrylic Host文件的末尾添加了如下代码:
127.0.0.1 *.loverspay.dev loverspay.dev
并在apache的extra目录中的httpd-vhosts文件中添加了以下内容:
ServerAdmin admin@localhost.com
DocumentRoot 'd:/wamp/www/loverspay/public'
ServerName loverspay.dev
ServerAlias *.loverspay.dev
AllowOverride All
Order allow,deny
Allow from all
我还在本地连接属性中将首选DNS服务器更改为127.0.0.1。
以下是我用于控制通配符子域名并在laravel中显示主路由的路由:
Route::group(['domain' => '{account}.loverspay.dev'], function ($account) { Route::get('/', function ($account, $id) { return view('home'); }); });
现在,在启动acrylic DNS代理后,当我访问loverspay.dev时,一切正常。但是,当我想打开例如ahmad.loverspay.dev时,只会在Chrome浏览器中显示一个"This site can't be reached"的消息。
问题出现的原因:Acrylic DNS Proxy无法创建动态通配符子域名。
解决方法:
1. 确保将127.0.0.1 loverspay.dev
添加到您的etc\hosts文件中。
2. 在Acrylic Host文件中只添加127.0.0.1 *.loverspay.dev
。
3. 确保在之后重新启动Acrylic。
4. 对于您的httpd-vhosts
文件,更新为以下内容:
<VirtualHost *:80>
ServerAdmin admin.com
ServerName loverspay.dev
ServerAlias *.loverspay.dev
DocumentRoot 'd:/wamp/www/loverspay/public'
<Directory 'd:/wamp/www/loverspay/public'>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
希望这样可以解决问题。
其他注意事项:
确保将首选DNS添加到127.0.0.1
或您的本地DNS。