我正在为我们的营销工作开发一个 RYO QR 码管理系统,让所有 QR 码都命中指定的 url 结构,然后我会通过 nginx 将其转发到它们指定的位置。
我正在尝试建立这个结构:
server {
listen 80;
server_name mydomain.com/c/m/b/1;
return 301 $scheme://myotherdomain.com$request_uri;
}
当我启动 nginx 时,我的服务器名称行因包含可疑字符而被调用。域名中可以使用斜线吗?
答案1
这是基于对您可能想要的东西的猜测。
如果您想要将所有http://mydomain.com/
URL 重定向至http://myotherdomain.com/
,您应该这样做:
server {
listen 80;
server_name mydomain.com;
rewrite ^ http://myotherdomain.com$request_uri permanent;
}
如果您只想在某些路径中重定向,您可以使用该location
指令:
server {
listen 80;
server_name mydomain.com;
location /c {
rewrite ^ http://myotherdomain.com$request_uri permanent;
}
}
答案2
不,斜杠不是域名的有效部分,或者不能用来分隔路径和协议部分(http://) 的 URL。
查看扩展参数(正则表达式)server_name
配置语句有帮助。