标签: rewrite

如何在nginx中重定向单个URL?

我正在重组网址结构.我需要为特定网址设置重定向规则 - 我正在使用NGINX.

基本上是这样的:

http://example.com/issue1 --> http://example.com/shop/issues/custom_issue_name1
http://example.com/issue2 --> http://example.com/shop/issues/custom_issue_name2
http://example.com/issue3 --> http://example.com/shop/issues/custom_issue_name3
Run Code Online (Sandbox Code Playgroud)

谢谢!

rewrite nginx

106
推荐指数
3
解决办法
21万
查看次数

如何轻松修复过去的提交?

我刚刚读过修改git过去提交中的单个文件,但不幸的是,接受的解决方案"重新排序"了提交,这不是我想要的.所以这是我的问题:

我偶尔会在处理(无关)功能时发现我的代码中存在错误.然后快速git blame揭示该错误已经被引入了一些提交之前(我提交了很多,所以通常它不是引入该错误的最新提交).此时,我通常这样做:

git stash                      # temporarily put my work aside
git rebase -i <bad_commit>~1   # rebase one step before the bad commit
                               # mark broken commit for editing
vim <affected_sources>         # fix the bug
git add <affected_sources>     # stage fixes
git commit -C <bad_commit>     # commit fixes using same log message as before
git rebase --continue          # base all later changes onto this
Run Code Online (Sandbox Code Playgroud)

然而,这种情况经常发生,上述序列变得烦人.特别是'互动式底板'很无聊.上面的序列是否有任何快捷方式,这可以让我修改过去的任意提交和分阶段的更改?我完全清楚这会改变历史,但我经常犯错误,所以我真的很喜欢这样的事情.

vim <affected_sources>             # fix bug
git add -p <affected_sources>      # Mark …
Run Code Online (Sandbox Code Playgroud)

git rewrite

100
推荐指数
8
解决办法
5万
查看次数

Gmail的新图片缓存正在破坏简报中的图片链接

我有一些自动电子邮件,在我的网站注册完成后发送.

直到最近,他们工作得很好.现在Google的新系统正在重写图像并将其存储在缓存中(据称)

但是,谷歌对我的图像链接的新重写完全破坏了它们,给出了500错误和链接图像损坏.

让我们说我的正常图片网址是:

http://www.mysite.com/images/pic1.jpg
Run Code Online (Sandbox Code Playgroud)

谷歌正在将此重写为:

https://ci5.googleusercontent.com/proxy/vI79kajdUGm6Wk-fjyicDLjZbCB1w9NfkoZ-zQFOB2OpJ1ILmSvfvHmE56r72us5mIuIXCFiO3V8rgkZOjfhghTH0R07BbcQy5g=s0-d-e1-ft#http://www.mysite.com/images/pic1.jpg
Run Code Online (Sandbox Code Playgroud)

但是,该URL没有任何内容.

电子邮件显示图像错误

因此,要么Google创建的链接出现问题,要么图像没有上传到googleusercontent服务器,但我不知道如何解决问题.

我在Amazon EC2上使用PHP,phpmailer库和Ubuntu服务器,但我不确定是否与此问题有关.

gmail rewrite caching image

89
推荐指数
4
解决办法
8万
查看次数

.htaccess中的头设置Access-Control-Allow-Origin不起作用

我无法弄清楚为什么我的.htaccess标题设置不起作用.

我的.htaccess文件内容:

Header set Access-Control-Allow-Origin *
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Allow-Headers "*"
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)

但是当我删除Header并添加它们时,index.php一切正常.

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: *");
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

.htaccess mod-rewrite rewrite cors

87
推荐指数
6
解决办法
23万
查看次数

是否可以使用Charles Proxy重写状态代码?

我正在使用Charles Proxy重写API的响应以进行测试.

如果我设置断点,我可以按照自己的意愿完全重写原始响应.

但是,如果我想通过"重写"工具自动化它,我就卡住了,似乎你无法修改状态代码:

重写规则面板

你知道我错过了什么吗?

proxy rewrite charles-proxy

54
推荐指数
4
解决办法
3万
查看次数

在每个url的末尾添加斜杠(需要为nginx重写规则)

我尝试在每个网址结尾处获得一个"/":

example.com/art

应该

example.com/art/

我使用nginx作为webserver.

我需要重写规则..

为了更好地理解,请检查:

http://3much.schnickschnack.info/art/projekte

如果你按下大图下的一个小缩略图,它会重新加载并显示这个网址:

http://3much.schnickschnack.info/art/projekte/#0

如果我现在在所有网址上都有一个斜杠(最后),那么无需重新加载网站即可.

现在我在nginx-http.conf中有这个设置:

server {
  listen *:80;
  server_name 3much.schnickschnack.info;
  access_log /data/plone/deamon/var/log/main-plone-access.log;
  rewrite ^/(.*)$ /VirtualHostBase/http/3much.schnickschnack.info:80/2much/VirtualHostRoot/$1 last;
  location / {
    proxy_pass http://cache;
  }
}
Run Code Online (Sandbox Code Playgroud)

如何配置nginx以添加斜杠?(我想我应该重写规则?)

regex rewrite nginx

48
推荐指数
5
解决办法
6万
查看次数

Python性能 - 您是否曾经不得不重写其他内容?

有没有人用过Python的代码,结果表明它的执行速度不够快?

我的意思是,你被迫选择另一种语言因为它?

我们正在研究将Python用于几个较大的项目,我的感觉是,在大多数情况下,Python对于大多数场景(比如Java)来说足够快,因为它依赖于优化的C例程.

我想看看人们是否有他们从Python开始的实例,最终因为性能而不得不使用其他东西.

谢谢.

python optimization performance rewrite

44
推荐指数
6
解决办法
7730
查看次数

这是用Java重写文件内容的最佳方法吗?

我想重写一个文件的内容.

到目前为止我所想到的是:

  1. 保存文件名
  2. 删除现有文件
  3. 创建一个具有相同名称的新空文件
  4. 将所需内容写入空文件

这是最好的方法吗?或者是否有更直接的方式,即不必删除和创建文件,只需更改内容?

java file-io rewrite

44
推荐指数
3
解决办法
9万
查看次数

Nginx将非www前缀域重写为www-prefixed域

我看到Nginx HttpRewriteModule文档有一个例子,用于将www前缀域重写为非www前缀域:

if ($host ~* www\.(.*)) {
  set $host_without_www $1;
  rewrite ^(.*)$ http://$host_without_www$1 permanent; # $1 contains '/foo', not 'www.mydomain.com/foo'
}
Run Code Online (Sandbox Code Playgroud)

如何反向 - 将非www前缀域重写为www前缀域?我想也许我可以做类似下面的事情,但Nginx不喜欢嵌套的if语句.

if ($host !~* ^www\.) {                       # check if host doesn't start with www.
    if ($host ~* ([a-z0-9]+\.[a-z0-9]+)) {    # check host is of the form xxx.xxx (i.e. no subdomain)
        set $host_with_www www.$1;
        rewrite ^(.*)$ http://$host_with_www$1 permanent;
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,我希望这适用于任何域名,而无需明确告诉Nginx重写domain1.com - > www.domain1.com,domain2.com - > www.domain2.com等,因为我有大量的域要重写.

rewrite nginx url-rewriting

39
推荐指数
4
解决办法
5万
查看次数

在nginx中记录代理活动

我正在使用重写和proxy_pass,我在网站上有一些间歇性的问题我也代理了重写.有没有办法记录代理活动,所以我可以调试这个问题?

proxy logging rewrite nginx

36
推荐指数
1
解决办法
5万
查看次数