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

관련 정보