无法用密码保护代码点火器中的特定网址



我需要在我的代码点火器站点上使用密码保护特定的路由/URL。

基本网址如下所示:

https://staging.mysite.com/site-name

我想使用 .htaccess 使用密码保护此网址

https://staging.mysite.com/site-name/export

路线如下所示

$route['export']['get'] = 'ExportController/index';
$route['export']['post'] = 'ExportController/export';

对于类似的问题,我已经尝试了许多不同的答案,但我无法让它正常工作, 要么到处询问密码,要么根本不询问密码。

这是我的.htaccess。

RewriteEngine on

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
SetEnvIfNoCase Request_URI ^/export SECURED
AuthName "Restricted Area"
AuthType Basic
AuthUserFile "/home/something/path/to/.htpasswd"
AuthGroupFile /
Require valid-user
Satisfy    any
Order      Allow,Deny
Allow from all
Deny from env=SECURED

我认为问题可能出在这一部分:

SetEnvIfNoCase Request_URI ^/export SECURED

因为我无法定位我想要的网址,所以这是我尝试过的其他一些事情

SetEnvIfNoCase Request_URI ^/site-name/export SECURED
SetEnvIfNoCase Request_URI "^/site-name/export" SECURED
SetEnvIfNoCase Request_URI "^/export" SECURED
SetEnvIfNoCase Request_URI ^(.*)/export SECURED
SetEnvIfNoCase Request_URI .*/export$ SECURED
SetEnvIfNoCase Request_URI .*/export SECURED

编辑:

我也尝试像这样保护整个导出控制器,密码提示不会出现在任何地方。

<Files ExportController>
AuthName "ExportController"
AuthType Basic
AuthUserFile "/home/something/path/to/.htpasswd"
require valid-user
</Files>

我最终这样做了:

<If "%{THE_REQUEST} =~ m#^GET /site-name/export#">
AuthType Basic
AuthName "Password Required"
AuthUserFile /home/path/to/.htpasswd
Require valid-user
</If>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

最新更新