Ограничить доступ к index.php - Apache

, поэтому я хочу ограничить доступ к моему файлу index.php , когда запрос приходит с параметрами. Например:

  • https: //example.com?param1=value1 (Ограничить / запретить доступ)

  • https://example.com (Разрешить доступ и загрузить веб-сайт в обычном режиме)

Есть ли способ сделать это с файлом .htaccess ?

Любая помощь приветствуется.

1
задан 28 June 2018 в 02:39
2 ответа

Попробуйте это:

RewriteEngine On
RewriteCond %{REQUEST_URI} =^param1=.+$ 
RewriteRule ^ /errors/no.access.html
-1
ответ дан 4 December 2019 в 03:53

Вы можете сделать что-то вроде следующего с помощью mod_rewrite в верхней части корневого файла .htaccess :

RewriteEngine On
RewriteCond %{QUERY_STRING} ^param1=value1$
RewriteRule ^(index\.php)?$ - [F]

Это вернет 403 Forbidden, если будет запрошен любой из следующих URL:

  • /? param1 = value1
  • /index.php?param1=value1

Обратите внимание, что это соответствует строке запроса (параметры URL) точно , как указано в вашем примере. Все остальное будет разрешено.

ОБНОВЛЕНИЕ

как мне отказать в доступе, если существуют какие-либо параметры?

В этом случае вы можете изменить условие так, чтобы оно соответствовало чему угодно . То есть что-то , но не ничего . Например:

RewriteCond %{QUERY_STRING} .

Точка (. ) соответствует любому символу.

1
ответ дан 4 December 2019 в 03:53

Теги

Похожие вопросы