【问题标题】:How can I change "127.0.0.1:8000 / localhost:8000" to my desired url. (laravel)如何将“127.0.0.1:8000 / localhost:8000”更改为我想要的网址。 (拉拉维尔)
【发布时间】:2019-04-11 01:44:36
【问题描述】:

我正在使用 laravel,但我不知道如何自定义默认 url,即“127.0.0.1:8000”或“localhost:8000”到我想要的 url。

我的期望是当我做 php artisan serve

时将 127.0.0.1:8000 更改为 sample.dev

我真的需要将我的项目移动到 htdocs 或 www 吗?

请帮忙...

【问题讨论】:

    标签: laravel laravel-5 laravel-4


    【解决方案1】:

    注意:这只是为了回答问题,向下滚动以查看我们将使用 .test 而不是 .dev 的其他方法,因此我们不会收到 SSL 错误。


    将默认主机更改为您想要的主机

    1. 进入artisan所在的项目目录。
    2. 运行以下命令:

      php artisan serve --host=some-domain.test --port=anyPort
      
    3. 确保主机存在于您的 etc/hosts 文件中。要向主机文件添加条目,请使用您喜欢的编辑器编辑 /etc/hosts/,并将此行添加到您当前的 /etc/hosts/ 文件中。

      127.0.1.1  sample.dev
      

      如果我更改我的 /etc/hosts 文件,它看起来像这样:

      127.0.0.1   localhost
      127.0.1.1   sample.dev // Added line.
      
      // More custom hosts here.
      

    如果您在端口 80 上运行该命令,则会引发错误。因为您很可能也使用 Apache 服务。要使命令正常工作,您必须:

    • A:使用sudo service apache2 stop 停止Apache 服务 Ubuntu(可能因发行版而异)。

    • B:使用不同的端口,因为它是用于开发目的,我 建议您坚持使用8080 或任何其他您不会使用的端口。

    现在,在您决定要坚持使用端口8080 之后,上面的命令将更改为以下内容:

    php artisan serve --host=sample.dev --port=8080
    

    注意:以上步骤适用于您的情况,如果您运行以上这些命令,它将无法在现代浏览器中运行,并且会抛出 SSL Error。因为从 Chrome 版本 63 开始,您不能在 没有 SSL 证书的情况下使用 .dev 域。有一些方法可以在本地环境中进行设置,但实际上并不是必需的,因为您无论如何都处于开发模式。

    但是,有一个专门用于开发目的的域,称为.test,所以请执行上述步骤,但将域更改为.test,上面的命令将如下所示:

    php artisan serve --host=sample.test --port=8080
    

    这对于开发目的非常有用,因为您不需要为您创建的每个新项目添加VirtualHost。

    【讨论】:

    • 谢谢先生。它完美地工作!但是请问先生,这个“php artisan serve --host=sample.dev --port=8080”有什么捷径吗?
    • @Joshua 就是这么短,如果你不想全部输入,我建议你创建一个 bash 别名。
    • @Akar 如果回答了您的问题,请将此答案标记为“正确”:)
    • --host 选项实际上改变了服务器将监听的地址,并且与浏览器中的地址没有直接关系。默认是在 localhost (127.0.0.1) 上监听,这意味着它不能从机器外部访问。使用--host=0.0.0.0 将监听本地机器的所有地址。如果您有多个路由到机器的 IP 地址,它可用于指定要监听的地址,例如--host=192.168.2.100.
    【解决方案2】:

    更改主机名

    唯一需要的步骤是向系统的hosts 文件中添加一个条目:

    127.0.0.1 sample.test
    

    当您运行 php artisan serve 时,您的网站将从 http://sample.test:80001 可用。


    移除端口

    要从 url 中删除 :8000,您需要监听 HTTP 的默认端口2:

    php artisan serve --port=80
    

    现在您的网站将在同一台机器上的浏览器中通过http://sample.test 访问。


    1我将示例更改为.test,这是一个保留顶级域(TLD)。 .dev 归 Google 所有,在使用 artisan 使用的内置 PHP 服务器进行开发时会导致 SSL 错误,因为 HSTS 已为整个 .dev TLD 启用。

    2这只有在你的机器上没有其他应用程序已经使用端口 80 时才有效,例如另一个网络服务器,如 Apache、Nginx、IIS 等。

    【讨论】:

    • 您忘记了他必须设置一个虚拟主机条目以将其指向他的 Laravel 项目文件夹路径,该路径由 php artisan 提供。
    • @Ronald php artisan serve 不需要
    • 是的,这就是我在你的回答中指出的:)缺少 php artisan serve 命令:)
    • 这个问题只问了如何更改url,但我可以进一步澄清。
    猜你喜欢
    • 2020-12-17
    • 2017-11-20
    • 2020-12-18
    • 2022-08-03
    • 2012-08-27
    • 1970-01-01
    • 2014-03-18
    • 2011-09-28
    • 2021-11-13
    相关资源
    最近更新 更多