Первый вариант решает задачу, но для многих статей/ссылок придется делать слишком много переменных. В реальности же редакторам можно редактировать любую статью.
Поэтому сделал второй вариант. Логика не html, а в конфиге, где можно использовать rewrite и другое, чтобы множество прав и переменных свести к нескольким.
test1.html:
test1
<!--# block name="empty" --><!--# endblock -->
<!--# include file="/test2.html" stub="empty" -->
конфиг:
map $cookie_user_id:$request_uri $allow {
default 0;
1234:/path/page1.html 1;
4567:/path/page1.html 1;
}
server {
ssi on;
location = /test1.html {
}
location = /test2.html {
internal;
if ($allow = 0) {
return 403;
}
}
}