Приветствую.
Есть задача закрыть доступ для пользователей. Своим разрешать, чужих отправлять на страницы на другом домене с урезанной информацией.
Сейчас ценой миллиона проб и ошибок получилось такое решение, в nginx :
location / {
root "%hostdir%";
rewrite ^(.*)$ /redirect.php;
}
location /x/ {
alias "%hostdir%";
try_files $uri /index.php?$args;
internal;
rewrite ^/x//list_autors/(.*)$ /index.php?g=$1 last;
rewrite ^/x//posts/(.*)$ /index.php?q=$1 last;
}
В файле redirect.php:
if (!$user) {
#здесь редиркт если не наш пользовалель
} else {
header("X-Accel-Redirect: /x/".$_SERVER["REQUEST_URI"]);
}
В итоге имеем следующее: ссылки list_autors/* и posts/* работают как нужно, статические файлы (изображения, текстовые) работают как требуется, но если обратиться к файлу, например
http://домен/index.php, то файл открывается напрямую, без участия redirect.php.
Не покидает чувство, что что-то делаю неправильно.
Подскажите, пожалуйста, где ошибка или что я делаю неправильно?