У меня есть приложение JavaScript MVC, которое должно поддерживать обмен Facebook, а это значит, что ему необходимо поддерживать уникальные метатеги HTML OG.Nginx: Escaping # in url rewrite
Я делаю переписывание Nginx, которое обнаружит сканер Facebook, чтобы создать пользовательскую версию приложения с соответствующим тегом OG для этого раздела, но Apache игнорирует все после знака # (поскольку серверная сторона должна делать с тех пор это функция браузера) Я хотел бы избежать «#» в моем переписывания, но я не знаю, как это сделать в Nginx:.
location/{
if ($http_user_agent ~* 'facebookexternalhit') {
rewrite ^(.*)$ /og.php?url=http://$host$uri;
proxy_pass http://127.0.0.1:8080;
break;
}
root /var/www/html/site.net;
}
Спасибо за взглянуть!
Мориц: Я успешно прокси-пароль для Apache, как написано выше: 'rewrite^(. *) $ /og.php? Url = http: // $ host $ uri;', который отлично работает (включая хэш персонаж). Я понимаю, что ни Nginx, ни Apache не видят хеш, но он правильно переписывается, мне просто нужно следующее: 'rewrite^(. *) $ /og.php?url=escape (http: // $ host $ uri);' –
Вы правы, конечно, что избегать URL-адреса, если он был включен в параметр GET. Не думал об этом. У вас вопрос был о #, хотя, и для этого мой ответ по-прежнему применяется. –
Да, но моя проблема в том, что вышеперечисленное слово выше не существует в Nginx, насколько я знаю. –