htaccess mod_rewrite запрет на прямой доступ

131
09 апреля 2022, 09:20

Во время написания сайта мне понадобилось сделать чтобы пользователь не видел в строке запроса (url) переменных и т.д. а видел как подпапки (www.example.com/view/1 ..) это понятно как сделать, и с помощью этого можно ограничить вводимые значения.. вот пример того как я написал переход "programs/view/1" к index.php?navigation=programs&id=1

RewriteEngine On
RewriteRule ^programs/view/([0-9]+)/?$ index.php?navigation=programs&id=$1    [NC,L] 

но как теперь запретить вводить в адресной строке напрямую целевой адрес (index.php?navigation=programs&id=1)
Я спрашиваю про это , потому-что от этого зависит нужно ли проверять переменную id, т.е. вместо "1" можно подставить часть запроса к базе ..

(тут ранее уже предложили решение, но у меня оно не работает(по этому прошу не ставить как дубликат вопроса ..) - вставлю предложенный там код:

RewriteRule ^index[/]?$ index.php [L,E=ACCESS_ALLOWED:1]
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteCond %{ENV:REDIRECT_ACCESS_ALLOWED} ^$
RewriteRule ^index.php$ - [F] 

мой код, в котором не срабатывает блокировка:

RewriteEngine On  
RewriteRule ^programs/view/([0-9]+)/?$ index.php?navigation=programs&id=$1    [NC,L,E=ACCESS_ALLOWED:1] 
RewriteRule ^programs/ index.php?navigation=programs [NC,E=ACCESS_ALLOWED:1]
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteCond %{ENV:REDIRECT_ACCESS_ALLOWED} ^$
RewriteRule ^index.php$ - [F]
READ ALSO
Переделать форму wpcf7-form

Переделать форму wpcf7-form

День добрый, есть скопированный сайт и в нем нужно переделать форму, чтобы сообщения приходили на любой ящик, который я укажу

219
Некорректно передаются числа в массиве при json_encode

Некорректно передаются числа в массиве при json_encode

Есть PHP-скрипт, который передает результат вычисления в массивНапример $a[] = 2750*1

190
Тратится Промокод, не оплачивая товар

Тратится Промокод, не оплачивая товар

возникла проблема с сайтом и системой промокодовЕсть сайт, на нём человек вводит Промокод, нажимает Перейти к оплате, и сразу же возвращается...

89