, поэтому я хочу ограничить доступ к моему файлу index.php
, когда запрос приходит с параметрами. Например:
https: //example.com?param1=value1
(Ограничить / запретить доступ)
https://example.com
(Разрешить доступ и загрузить веб-сайт в обычном режиме)
Есть ли способ сделать это с файлом .htaccess
?
Любая помощь приветствуется.
Попробуйте это:
RewriteEngine On
RewriteCond %{REQUEST_URI} =^param1=.+$
RewriteRule ^ /errors/no.access.html
Вы можете сделать что-то вроде следующего с помощью 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} .
Точка (.
) соответствует любому символу.