如何在 codeigniter 中使用 .htaccess 限制图像文件夹

Kas*_*tel 4 .htaccess codeigniter restriction

我有一个包含图像文件夹的 codeigniter 项目,我想让它无法从直接 url 访问中访问,假设有人输入了 url

http://localhost/project/images/Pricelistupdated.pdf
Run Code Online (Sandbox Code Playgroud)

然后它将直接在浏览器选项卡中打开而无需登录,所以我想禁用它。当用户登录并单击下载链接时,只有该时间文件将被下载并在新选项卡中打开。当有人在我使用的浏览器中输入直接 url 时它无法打开

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?projects/project/ [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?projects/project/.*$ [NC] 
RewriteRule \.(pdf|PDF|jpg|png|gif|PNG)$ - [F]
Run Code Online (Sandbox Code Playgroud)

但此代码也禁用下载并在新选项卡功能中打开

Sye*_*nam 7

如果您创建了一个默认无法提供 codeigniter 框架的额外文件夹。

第1步

  • 在项目根目录中创建一个 .htaccess 文件。

第2步

将此代码保存在以下提供的 htaccess 文件中:

<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine on
RewriteBase /Project_name/
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

步骤 3

  • 如果 root 中已经存在 htaccess 文件。只需在旧的 .htaccess 文件中添加代码行。按照第 2 步示例

    选项 - 索引

现在检查一下。