失败 htaccess regax

失败 htaccess regax

我正在尝试将所有请求发送到服务器并转到包含请求信息的 index.php 文件。

另外,我想防止直接访问 index.php 文件。

第二部分运行良好,但由于某种原因我无法完成第一部分

  #If the request is for index - prevent from accessing the file directly
    RewriteRule ^(.*)index\.php(.*)$ - [F,L]

#If the request if not for the receiver - redirect to the api server
#RewriteCond !^(*.)campaigns/(\d+)/pictures(.*)$ [NC]
RewriteRule  index.php?request=$1 [NC,QSA,L]

我究竟做错了什么?

答案1

乍一看,没有什么特别突出的地方,但如果您可以使用 PHP 来解决这个问题,那么您可以在 index.php 的顶部执行以下操作(假设 index.php 位于站点的根目录中)。

if ($_SERVER['REQUEST_URI'] == '/index.php' || $_SERVER['REQUEST_URI'] == '/') {
    header('HTTP/1.1 403 Forbidden');
    exit;
}

相关内容