我正在尝试将所有请求发送到服务器并转到包含请求信息的 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;
}