【问题标题】:Laravel 5.2 - Basic Auth using .htpasswdLaravel 5.2 - 使用 .htpasswd 的基本身份验证
【发布时间】:2016-10-12 12:36:57
【问题描述】:

我在设置受 .htpasswd 保护的 laravel 项目时遇到问题。

我尝试将以下内容添加到我的 .htaccess 中,但在我输入凭据后会导致内部服务器错误 (500)..

.htaccess 内容:

AuthUserFile .htpasswd
AuthType Basic
AuthName "Secured area"
Require valid-user

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

这是当前的 routes.php。以防万一我应该在 routes.php 中更改:

Route::get('/', 'HomeController@index');

Route::auth();

Route::get('/home', 'HomeController@index');

我在 Google 上找不到任何在 laravel 5.2 下仍然有效的有用的东西,所以我真的希望有人有一个想法 :)

【问题讨论】:

标签: .htaccess laravel laravel-5


【解决方案1】:

正如@Olaf 提到的。改变这个:

AuthUserFile .htpasswd

..进入这个:

AuthUserFile /absolute/server/path/.htpasswd

.. 成功了。非常感谢!

【讨论】:

  • 我遇到了同样的问题。我还提到了full path 到htpasswd,但没有工作。您的.htaccess 文件是否也在public 中?
  • 不——我不想冒险
  • 我们如何只允许api?并使用 .htpasswd 限制网络访问?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 2016-08-05
  • 2016-09-21
  • 1970-01-01
  • 2018-11-22
相关资源
最近更新 更多