我一直在尝试使用URL重写将URLredirect到另一个域。 以下是我的nginx.conf文件:
worker_processes 1; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; server { listen 8070; server_name www.example.com; rewrite ^/v1/([0-9]+).html http://www.example.com/v1?exid=$1; location ~ /v1/([0-9]+) { return 301 http://dev.example1.com/v1?exid==$1; } } }
我一直在尝试很长一段时间,但我仍然无法find合适的解决scheme。
注:我没有得到任何错误,如果我尝试以上,但预期的redirect不会发生。 我希望将此urlredirect到http://example.com/v1/68740.html —至—> http://dev.example1.com/v1?exid=68740 。
提前致谢。
尝试以下configuration:
server { listen 8070; server_name www.example.com; rewrite_log on; location ~^/v1/([\d]+)\.html$ { return 301 http://dev.example1.com/v1?exid=$1; } }
如果要debuggingngx_http_rewrite_module的configuration,请设置rewrite_log指令。 有关rewrite_log的详细信息,请参见:
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite_log
最后你最好检查一下access_log,最后你的nginx返回(redirect)的URL。