我正在尝试重定向来自
的请求 example.com/abc234
到
example.com/setup.html?s=abc234
到目前为止,我已尝试过以下内容,但它似乎总是以1)不传输参数或2)以无限循环(或404)结束,因为它还尝试重定向重定向的请求?请求必须明显重写,因为我想用JS而不是PHP来获取参数。
server {
server_name example.com;
root /var/www/html;
rewrite ^(.*)$ /setup.html?s=$1 redirect;
}
我还尝试了location / { try_files ...; }
的各种组合或使用rewrite
中的绝对网址,但没有成功。
答案 0 :(得分:1)
一种技术是仅重写与物理文件不匹配的URI。
例如:
server {
server_name example.com;
root /var/www/html;
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
return 302 /setup.html?s=$uri;
}
}
有关详情,请参阅this document。 重写^(。*)$ /setup.html?s=$1重定向; }