示例代码
diff -r -u -P a.c b.c > diff.patch
Run Code Online (Sandbox Code Playgroud)
我试图在人中搜索。
man 说 diff -u 是为了统一输出的模式,什么意思,什么时候用?
多谢。
我正在运行Nginx,它被配置为允许我访问另一个可用作反向代理的服务器上的多个资源.例如
main server:http://example.com
slave: http://example.com/slave
adminer on slave: http://example.com/slave/admin/adminer.php
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都好.我在Adminer中输入我的数据库用户名和密码,麻烦就开始了.检查Adminer登录后返回的标题我注意到它发回了一个
Location:/admin/adminer.php?username=user
Run Code Online (Sandbox Code Playgroud)
头.这是麻烦的根源.在我的浏览器中,当然,这被解释为相对于当前服务器而不是反向代理的含义.我找到了一个hainer the adminer代码,找到了一个有一个Location头的地方,但是它刚刚停止了它的轨道.
我怎样才能防止这种情况发生?我考虑在Nginx上运行一个Lua脚本来检查标题并替换它,但它让我感到震惊,即使我让它工作,我也会让我的服务器做大量不必要的工作.
我非常感谢任何帮助.
编辑
在探讨了这个问题之后,我开始认为,顾客可能没有做太多错误.它实际上使用$ _SERVER ['REQUEST_URI']值来构造位置标头,而这恰好很少/admin/adminer.php.我注意到引用,$ _SERVER ['HTTP_REFERRER']具有完整的原始请求路径http://example.com/slave/admin/adminer.php.所以解决方案是发送回位置/slave/admin/adminer.php?username=user.
简单?好吧,问题是我的设置/slave/会变化,所以我需要在代码中解决它.我可以用一个PHP的地方很容易地做到这一点,但我想知道...肯定有一个更容易的选择由Nginx提供?
我或许应该提一下