我正在使用.htaccess阻止一个文件夹,这是我以前从未使用过的,我遇到了一些麻烦.这就是我所拥有的
.htaccess(位于我想要阻止的文件夹中):
AuthName "Username and password required"
AuthUserFile /.htpasswd
Require valid-user
AuthType Basic
Run Code Online (Sandbox Code Playgroud)
.htpasswd(位于root,密码在实际文件中加密):
tim:blah
Run Code Online (Sandbox Code Playgroud)
我有500个内部服务器错误,我无法弄清楚原因.
我在Windows Server 2008 R2中运行Apache 2.4.我试图密码保护一个子目录,并成功在Apache 2.0中这样做.升级后,我接受了Apache的建议,并尝试将身份验证配置放在httpd.config中.我允许读取密码文件,一切看起来都是有序的,但是当我测试它时,我收到以下错误:
[Mon Apr 01 19:58:36.438476 2013] [auth_basic:error] [pid 3984:tid 788] [client xxx.yyy.254.2:49253] AH01617:用户主服务器:"/restricted/file.zip"的身份验证失败:密码有误
但是,我知道我正在发送正确的密码.请参阅下面的配置,任何评论都有帮助.
<Directory "C:/www/mydir/restricted">
#AllowOverride AuthConfig
#Order allow,deny
#Allow from all
AuthType Basic
AuthName Restricted
AuthUserFile "C:/www/mydir/passwords/pass"
Require valid-user
</Directory>
<Directory "C:/www/mydir">
Require all granted
</Directory>
<VirtualHost *:80>
ServerAdmin admin@.com
DocumentRoot "C:/www/mydir"
ServerName "fakeurl.com"
ErrorLog "C:/www/mydir/logs/error.log"
CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@.com
DocumentRoot "C:/www/mydir"
ServerName "www.fakeurl.com"
ErrorLog "C:/www/mydir/logs/error.log"
CustomLog "C:/www/mydir/logs/accesslog/access.log" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我在设置 .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>
Run Code Online (Sandbox Code Playgroud)
这是当前的routes.php。以防万一我应该在routes.php中更改一些内容:
Route::get('/', 'HomeController@index');
Route::auth();
Route::get('/home', 'HomeController@index');
Run Code Online (Sandbox Code Playgroud)
我在 Google 上找不到任何在 Laravel 5.2 …