【问题标题】:Laravel route containing a period/dot (.) character包含句点/点 (.) 字符的 Laravel 路由
【发布时间】:2020-08-05 20:01:37
【问题描述】:

我正在尝试在 Laravel 中创建以下路由,其中​​包含一个点字符:

Route::get( '.test', 'PageController@dot_test');

但它一直给我以下错误:

Forbidden - You don't have permission to access this resource.

如何路由包含点的 URL,如下所示: http://example.com/.test

【问题讨论】:

  • 通常. 用于表示文件类型/域/等,例如www.whatever.comindex.php 等。您可能很难让 Laravel 和您的网络服务器了解如何处理 @ 987654327@ 在这样一个意想不到的地方。我认为这是允许的(即没有特定的规则说你不能),但除非你有特定的原因,否则我会说只是去/test

标签: laravel


【解决方案1】:

当使用php artisan serve 在本地提供服务时,如下定义的路由将起作用。

Route::get('/.test', function () {
    return view('welcome');
});

但是从文件系统的角度来看,前导点被分配用于隐藏文件(在 linux 文件系统上)。因此,大多数网络浏览器将默认阻止任何以点开头的请求,以提供开箱即用的安全默认值。您需要允许网络服务器使用前导点为 uri 提供服务。它看起来你的错误是由网络服务器返回的,而不是由 PHP 进程和/或你的 laravel 应用程序返回的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 2013-06-20
    • 2021-12-08
    • 2020-04-07
    • 1970-01-01
    • 2014-10-01
    • 2020-04-20
    相关资源
    最近更新 更多