在LAMP中为Laravel创建虚拟主机

3
我已经设置好了Laravel,并且正在尝试创建子域名路由。基本上,我的路由需要接受这个参数blog.example.dev
我已经设置好了我的路由,现在我只需要创建虚拟主机。由于我的Laravel应用程序接受blog.example.dev,因此我需要执行哪些步骤来创建虚拟主机?还有其他的更改应该在应用程序中进行,如htaccess等。 我正在使用最新版本的Laravel。 对于操作系统,我正在使用Ubuntu 17。 编辑: 在Linux中创建虚拟主机非常容易,但它并不像我想象的那样起作用。即使我创建了虚拟主机,Laravel serve也无法启动页面,页面仍然无法访问。如果您有任何提示,将不胜感激。我已经尝试通过DigitalOcean博客创建虚拟主机。https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts

请告诉我您的操作系统。 - xpredo
3个回答

2

来源

一段时间以前,谷歌购买了 .dev 顶级域名(TLD)。当时,他们宣布他们没有计划使用它,只是用于内部目的。多年来,.dev TLD 主要用于开发人员和设计师在本地开发环境中使用。它被认为是通用可接受的用途,因此现在到处都有开发人员在本地运行网站,这些网站可能会受影响。

最近,谷歌宣布,在即将发布的 Chrome 更新中,他们将强制 .dev 使用 HTTPS。简而言之,这意味着如果您正在使用 .dev 运行本地网站并且使用 Google Chrome,则会发现您的网站无法访问。幸运的是,有几个选项可以相对简单地解决此问题。请注意,由于 .dev 已成为本地开发的标准 TLD 已经有一段时间,所以谷歌的这个新政策将影响您,无论您是使用 DesktopServer 还是任何其他使用 .dev TLD 的本地开发工具。这个问题不是特定于 DesktopServer。

因此,您需要使用除 .dev 之外的任何其他扩展名,例如 .com.test。在您的 Apache 虚拟主机文件中添加新条目如下:

<VirtualHost *:80>

ServerAdmin webmaster@dev.blog.com
ServerName dev.blog.com
ServerAlias dev.blog.com
DocumentRoot /var/www/blog/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

将以下内容添加到本地机器的hosts文件中:

127.0.0.1 dev.blog.com

重新启动Apache服务器以加载新更改。

注意:blog是您的Laravel项目名称。根据您的命名进行更改。


这个没有起作用。我已经试图一遍又一遍重复做了,但是火狐浏览器总是显示无法访问的页面,而服务器也没有特别的操作来显示该页面。 - Rajesh Paudel
谢谢。我会在完成后回复您。 - Rajesh Paudel
没问题。你尝试过后马上告诉我。如果不行,我可能需要你项目的 .env 文件。 - Parth Pandya

0
`<VirtualHost *:80>
ServerAdmin webmaster@dummy.com
ServerName projectname.local
ServerAlias projectname.local
DocumentRoot "c:xampp/htdocs/projectname/public"
 ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>`

使用.local创建虚拟主机

127.0.0.1 projectname.local

在你的主机文件中添加这一行,并重新启动本地服务器


0

已解决

基本上我只是创建了虚拟主机,但我注意到在将子域放在文件顶部后,Laravel出现了一些奇怪的行为。我不知道 Laravel 会首先处理子域路由,如果您在某些路由之后放置子域路由,则它将无法正常工作,然后您将无法获得所需的路由。

关于 Apache,似乎我无法使子域工作,并且从我在本地环境中学到的内容来看,域名必须首先出现在此处。

ServerAlias blog.example.devServerName example.dev 域中无法工作。

我创建了两个单独的虚拟主机,一个用于 example.dev,另一个用于 blog.example.dev。还要感谢 parthu_panther,我将 .dev 更改为另一个 .local

同时,hosts 文件也是相同的:

127.0.0.1 example.local

127.0.0.1 blog.example.local

如果我有错误,请纠正我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接