我使用homestead和Laravel 5.4并且我需要启用子域,在我的主Windows 10机器中我添加了一个主机(C:\WINDOWS\system32\drivers\etc\hosts
)记录:
192.168.10.10 myapp.dev
192.168.10.10 website.myapp.dev
所以这项工作正常,当我导航到website.myapp.dev时,它显示主页,好像我去了myapp.dev,而且我的宅基地服务器是apache2而不是nginx
在这条路线中,当我访问website.myapp.dev时,我在日志中得到了预期的输出(website.myapp.dev):
Route::get('/', function(Illuminate\Http\Request $request){
\Log::info($request->fullUrl()); // logs website.bikser.dev
});
然而,当我访问website.myapp.dev时,我的这条路线没有启动:
Route::domain('{account}.myapp.dev')->group(function () {
Route::get('/{account}', 'WebsiteController@view');
});
所以我需要这条路线才能工作,所以我可以使用子域名,我没有改变.htaccess文件中的任何内容因为我不知道我是否应该而且我也试图编辑{{1并添加以下行:
apache2.conf
但我的<VirtualHost *:80>
ServerName myapp.dev
ServerAlias *.myapp.dev
</VirtualHost>
路线仍未启动,请帮助
编辑:
刚刚添加了以下代码:@headmax,但是当我导航到myapp.dev时,它说
NotFoundHttpException,这是我添加的代码:
{account}.myapp.dev
答案 0 :(得分:0)
首先更改新doc根目录的权利:
sudo chown -R $USER:$USER home/vagrant/code/public
注意:Debian 8中的默认Apache配置要求各自 虚拟主机文件以.conf结尾。
我们复制您自己的site.conf的默认虚拟主机 000-default.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/myapp.dev.conf
您需要编辑文件并在此处添加 虚拟主机粘贴
sudo nano /etc/apache2/sites-available/myapp.dev.conf
我们需要这样简单的方法:
<VirtualHost *:80>
ServerAdmin admin@myapp.dev
ServerName myapp.dev
ServerAlias www.myapp.dev
DocumentRoot /home/vagrant/code/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在我们已经创建了虚拟主机文件,我们可以启用。
sudo a2ensite myapp.dev.conf
输出:启用网站myapp.dev。要激活新配置, 你需要运行:service apache2 reload
重启Apache
service apache2 reload //to reload configuration
sudo systemctl restart apache2 //to apply the configuration change
现在您已经完成了对网站的测试。
您需要根目录来告诉apache存储站点文件的位置。 此处示例 myapp.dev是一个文件夹,公用文件夹是(子),其中存储了公共文件。
<VirtualHost *:80>
ServerName myapp.dev
DocumentRoot home/vagrant/code/public
<Directory "home/vagrant/code/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
#Require local
Require all granted
</Directory>
</VirtualHost>