我用nginx做反向代理。如何在nginx的服务器块中设置URL重定向,以便重定向到的URL是非http url。
例如,我有一个类型的url:
http://example.com/user_uuid/a0d525aa-d755-11e5-b5d2-0a1d41d68578/14084561234/
我想从上面重定向到非http网址:
sms:14084561234?body:my photo is located at http://example.com/photos/a0d525aa-d755-11e5-b5d2-0a1d41d68578/
当这个非http url点击浏览器时,设备的本机SMS应用程序就会打开,将手机号码1-408-456-1234预先填充SMS,并在非http url中显示在?body后面的文本。当然,这只适用于移动设备。
这种事有可能吗?如果是,你能给我举个例子吗?注意,在第一个URL中,uuid和数字是根据一些先前的输入动态生成的。
我已经知道如何在我的web应用程序代码中实现重定向,但这不是问题所在。
发布于 2016-02-20 00:54:03
以下配置工作正常:
server {
listen 99;
server_name test.so;
location /user_uuid {
rewrite /user_uuid/(.+)/([^/]+) "sms:$2?body:my photo is located at http://example.com/$1/" redirect;
}
}样本输出
curl -I -H "Host: test.so" http://localhost:99/user_uuid/uuid/phone/
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.7.11
Date: Sat, 20 Feb 2016 00:45:22 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: sms:phone?body:my photo is located at http://example.com/uuid/https://stackoverflow.com/questions/35516325
复制相似问题