Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将特定文件夹中所有文件的所有请求重定向到同一文件夹中的特定php文件_Php_Wordpress_.htaccess_Redirect - Fatal编程技术网

是否可以将特定文件夹中所有文件的所有请求重定向到同一文件夹中的特定php文件

是否可以将特定文件夹中所有文件的所有请求重定向到同一文件夹中的特定php文件,php,wordpress,.htaccess,redirect,Php,Wordpress,.htaccess,Redirect,我试图通过将请求重定向到同一文件夹中的特定php文件来保护特定文件夹中的所有文件(pdf文件和图像文件)。php文件检查用户是否登录,然后抛出404(未登录)或返回请求的文件 这是WordPress安装。当用户上传一个文件时,它将自动存储在一个文件夹中(在上传文件夹内),该文件夹由特定帖子的id命名。当用户选择“安全”选项时,我会在该特定文件夹中自动生成另一个名为“安全”的文件夹。在此“安全”文件夹中,只有登录的用户才能访问这些文件 我已经通过在根目录中放置htaccess规则来解决这个问题。但

我试图通过将请求重定向到同一文件夹中的特定php文件来保护特定文件夹中的所有文件(pdf文件和图像文件)。php文件检查用户是否登录,然后抛出404(未登录)或返回请求的文件

这是WordPress安装。当用户上传一个文件时,它将自动存储在一个文件夹中(在上传文件夹内),该文件夹由特定帖子的id命名。当用户选择“安全”选项时,我会在该特定文件夹中自动生成另一个名为“安全”的文件夹。在此“安全”文件夹中,只有登录的用户才能访问这些文件

我已经通过在根目录中放置htaccess规则来解决这个问题。但我的目标是通过这个安全文件夹中的htaccess重定向它。因此,我们的目标是自动创建这个“安全”文件夹,并在此文件夹中创建相应的htaccess php文件

我的主要问题是我必须将代码放在.htaccess文件中


我在谷歌上搜索了很多,但仍然没有找到适合我的解决方案。任何帮助都将不胜感激。

未登录时的错误应为403“禁止”。这与404“未找到”不同

假设脚本名为reader.php 您可以将其放置在.htaccess中

RewriteEngine On
RewriteCond ${REQUEST_URI} !reader.php
RewriteRule ^ reader.php [L]
您可以添加一个条件,仅对现有文件执行此操作:

RewriteCond %{REQUEST_FILENAME} -f 
要放置在重写规则行之前

php就可以了

<?php
    if( !login_check() ) {
       header('HTTP/1.0 403 Forbidden');
       exit();
    }
    else {
        $file = $_SERVER['REQUEST_URI'];
        $filelocal = ''; // translate $file to something in current dir

       ## give correct header for filetype
       header('Content-Type: application/pdf');

       readfile($filelocal);
    }

从它的“声音”来看,您需要一些自定义脚本来执行此自动化。如果没有你现有的代码,我想没有人能在这件事上帮助你。无论如何,谢谢你的回答。伊沃普理解了这个问题。这正是我想要的…如果你对答案满意,你可以接受