现在,我正在使用以下配置将我的应用程序域迁移app.example.com到:app.newexample.comnginx
server {
server_name app.example.com;
location /app/ {
rewrite ^/app/(.*)$ http://app.newexample.com/$1;
}
}
Run Code Online (Sandbox Code Playgroud)
我需要显示一个popup-banner来通知用户域名迁移.我希望这个基于referrer或者某种其他标题app.newexample.com
但是我如何在上面附加一个额外的标题,rewrite以便javascript将检测到标题并仅在该标题存在时显示标题因为直接用户app.newexample.com不应该看到弹出横幅?
问题是,当你"重写"到具有协议和主机名的URI(http://app.newexample.com/在你的情况下)时,Nginx会发布公平的HTTP重定向(我猜代码将是301又称"永久重定向").这使您只有两种机制将任何信息传输到新URL的处理程序:
由于您要将用户重定向到新域,因此cookie不会发生.但即使在通用域的情况下,我也会选择URL来传输这种信息,比如
server_name app.example.com;
location /app/ {
rewrite ^/app/(.*)$ http://app.newexample.com/$1?from_old=yes;
}
Run Code Online (Sandbox Code Playgroud)
这使您可以自由地在Nginx或浏览器中进行处理(使用JavaScript).您甚至可以在新应用服务器Nginx配置中为JavaScript发出特殊的HTTP标头:
server_name app.newexample.com;
location /app {
if ($arg_from_old) {
add_header X-From-Old-Site yes;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12302 次 |
| 最近记录: |