Laravel 5.4 artisan 为 /public 的现有文件夹提供 htaccess / 和 Routes::get

Posted

技术标签:

【中文标题】Laravel 5.4 artisan 为 /public 的现有文件夹提供 htaccess / 和 Routes::get【英文标题】:Laravel 5.4 artisan serve htaccess / and Routes::get for existing folders at /public 【发布时间】:2017-11-09 23:11:17 【问题描述】:

我仍在尝试使用 Laravel 5.4。 但是正在运行

php artisan server 

没有考虑 /public 中的 .htaccess 文件,无论我在那里编辑什么,它仍然没有处理它,工匠服务在 127.0.0.1:8000 运行

--- 我遇到了这个问题,因为我正在寻找另一件事:

我想为已经位于 /public 的 /images 文件夹创建一个 route::get,从 htaccess 条件中删除 -d 应该可以正常解决这个问题,从而使 apache 重定向请求甚至从文件夹到 index.php,

所以在使用 php artisan serve 进行本地测试时,我注意到更改甚至清除 htaccess 文件并不会改变 laravel 的行为。

感谢您的宝贵时间。

[注] 如果我从 apache 运行 laravel,或者除了 php artisan serve 之外的任何东西,htaccess 就可以工作。所以我的问题只是关于 serve 命令及其行为。

【问题讨论】:

【参考方案1】:

PHP 具有基本的 Web 服务器功能。当您运行php artisan serve 时使用此服务器功能。 .htaccess 是 Apache 服务器功能不是 PHP 功能。

PHP 不是为了成为一个成熟的 Web 服务器而构建的,因此它没有您在 Apache 或 nginx 上可以找到的所有配置选项

【讨论】:

所以基本上那里没有 htaccess 规则或改变访问服务器上现有文件夹的行为的方法,例如 /css /js /images... 在 /public 文件夹中?跨度> @emad 基本上什么php artisan serve 基本上就是这个命令php -S localhost:8000 -t public/-S 告诉它要使用的主机名和端口,-t 是文档根目录。如果您请求一个存在的文件的 url,您将获得该文件。如果你请求一个不存在的文件的 url,php 会将请求重定向到该目录中的 index.php 文件【参考方案2】:

您需要在 artisan 配置文件中定义它!

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

正如https://laravel.com/docs/5.4/homestead 中解释的那样(宅基地是 vagrant+)

Laravel Homestead 是官方预包装的 Vagrant 盒子, 无需您即可为您提供美妙的开发环境 在您的计算机上安装 PHP、Web 服务器和任何其他服务器软件 本地机器。再也不用担心搞砸你的操作了 系统!流浪者盒子是完全一次性的。如果有事 错了,你可以在几分钟内销毁并重新创建盒子!

【讨论】:

谢谢,但是 laravel 可以很好地与服务一起工作,(我在 windows + phpstorm 上运行,而不是虚拟盒子),我的问题是关于工匠服务的行为,因为我不打算一直通过 wamp 运行它,出于性能原因,我更喜欢 serve 命令,但是 /public 的 htaccess 文件似乎被 serve 命令忽略了。 嗨,我想澄清一下:1)答案是关于 vagrant 2)PHPStorm 正在使用 virtualbox,因为 PHPStorm 本身不是虚拟机软件 3)因此,PHPStorm 仍然需要正确的设置 vagrant配置文件。

以上是关于Laravel 5.4 artisan 为 /public 的现有文件夹提供 htaccess / 和 Routes::get的主要内容,如果未能解决你的问题,请参考以下文章

php artisan migrate 不适用于 Laravel 5.4 中的 XAMPP

laravel artisan 命令列表

Laravel 5.4 - php artisan cache:使用'file'缓存驱动程序时clear不清除缓存文件

laravel 5.4 php artisan serve 无效请求(意外的 EOF)

拉拉维尔 5.4。调用错误:php artisan db:seed

Lumen 5.4 与 Laravel 可邮寄