重写url末尾数字的Nginx规则
我找不到转换此url的方法: 对此 谢谢你帮我 在此之后,我提出了这个解决方案,但它不起作用: 重写^/(../(../[0-9]+)-(.*)ttps://domain.com/$1/$2/$3永久性 因为它现在指向这个: ttps://domain.com/12345重写url末尾数字的Nginx规则,url,nginx,rewrite,Url,Nginx,Rewrite,我找不到转换此url的方法: 对此 谢谢你帮我 在此之后,我提出了这个解决方案,但它不起作用: 重写^/(../(../[0-9]+)-(.*)ttps://domain.com/$1/$2/$3永久性 因为它现在指向这个: ttps://domain.com/12345 感谢您的帮助您的问题有点含糊不清,我无法判断您是否需要重定向、重写或您的nginx配置对于/whatever/mylink是什么样子 但是,假设您只想将/which/(insert number)-mylink重定向到您自
感谢您的帮助您的问题有点含糊不清,我无法判断您是否需要重定向、重写或您的nginx配置对于/whatever/mylink是什么样子 但是,假设您只想将/which/(insert number)-mylink重定向到您自己的站点sans(insert number),以下内容应该会让您走上正确的道路:
location ~ "^/en/whatever/([0-9]+)-mylink" {
rewrite ^(.*) http://192.168.99.100:8080/en/whatever/mylink;
}
location ~ ^/en/whatever/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
我用nginx旋转了一个Docker容器。我修改了/etc/nginx/conf.d/default.conf文件并添加了这几行。我的docker容器在那个内部IP上运行,所以你需要根据自己的IP进行调整
如果你点击mylink,它会将其改写为mylink,然后直接转到yahoo
再说一次,你的问题很模糊,但我猜你想要这样的东西
编辑:
在阅读您的评论之后,您似乎需要在重写中捕获正则表达式参数。你可以通过第一个$1,第二个$2,依此类推。下面是一个与您的用例更相关的示例。同样,这只是对default.conf的攻击:
location / {
rewrite ^/en/(.*)/(.*)/([0-9]+)-mylink http://192.168.99.100:8080/en/$1/$2/mylink;
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~ ^/en/whatever/whatevs/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
如果你把这个问题转过来,转到/en/whatever/whatevs/12345 mylink,你就会重定向到yahoo。你的问题有点模糊,我不知道你是否想要重定向、重写或者你的nginx配置对于/whatever/mylink是什么样子 但是,假设您只想将/which/(insert number)-mylink重定向到您自己的站点sans(insert number),以下内容应该会让您走上正确的道路:
location ~ "^/en/whatever/([0-9]+)-mylink" {
rewrite ^(.*) http://192.168.99.100:8080/en/whatever/mylink;
}
location ~ ^/en/whatever/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
我用nginx旋转了一个Docker容器。我修改了/etc/nginx/conf.d/default.conf文件并添加了这几行。我的docker容器在那个内部IP上运行,所以你需要根据自己的IP进行调整
如果你点击mylink,它会将其改写为mylink,然后直接转到yahoo
再说一次,你的问题很模糊,但我猜你想要这样的东西
编辑:
在阅读您的评论之后,您似乎需要在重写中捕获正则表达式参数。你可以通过第一个$1,第二个$2,依此类推。下面是一个与您的用例更相关的示例。同样,这只是对default.conf的攻击:
location / {
rewrite ^/en/(.*)/(.*)/([0-9]+)-mylink http://192.168.99.100:8080/en/$1/$2/mylink;
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~ ^/en/whatever/whatevs/mylink {
rewrite ^(.*)$ http://www.yahoo.com;
}
如果你把这篇文章编出来,转到/en/whates/whatevs/12345 mylink,你将重定向到雅虎。很抱歉我的问题含糊不清,谢谢你的帮助。我需要的是这些链接上的永久重定向。问题是/en/whatever/子文件夹可能有许多不同的命名方式。不知道我是否解释了我自己,但是/en/whatever/may-be/es/cosa/或许多其他正则表达式。所以“mylink”可以是任何其他单词。你能帮忙吗?谢谢。编辑了我的答案,展示了如何用$1、$2等捕捉正则表达式的值。抱歉我的问题含糊不清,谢谢你的帮助。我需要的是这些链接上的永久重定向。问题是/en/whatever/子文件夹可能有许多不同的命名方式。不知道我是否解释了我自己,但是/en/whatever/may-be/es/cosa/或许多其他正则表达式。所以“mylink”可以是任何其他单词。你能帮忙吗?谢谢。编辑了我的答案,展示了如何用$1、$2等捕捉正则表达式值