Друзья, помогите с таким вопросом.
Мне нужно, чтобы поисковикам показывалась определенная страница
file.html, тогда как пользователь будет видеть обычный сайт. При этом нужно сохранить доступ к
robots.txt - именно это у меня получилось, но когда поисковик заходит на главную nginx выдает 500 ошибку:
[error] 13833#0: *1 rewrite or internal redirection cycle while processing "/file.html",
server {
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/vhost-error_log warn;
listen 80;
listen 443;
server_name www.site.biz site.biz;
location / {
# Если поисковик - присваиваем значение T
if ($http_user_agent ~* ".*Googlebot.*"){
set $RW T;
}
# Если в запросе robots.txt - не перенаправлять, значение F
if ($request_uri ~ .*.robots.*) {
return 200 "User-agent: *\nAllow: /\nHost: https://www.site.biz";
set $RW F;
}
# Если другой запрос - направляем на file.html. Именно эта строка реврайта вызывает ошибку!
if ($RW = T)
{
rewrite ^ /file.html;
}
error_page 503 /503.html;
error_page 500 /500.html;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 80 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 10s;
proxy_redirect off;
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Что я делаю не так?
Благодарю всех и надеюсь на помощь.