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;
}

相關內容