【发布时间】:2015-02-05 20:44:36
【问题描述】:
我是 nginx 新手,我需要设置 301 个重定向负载,每个将旧文件指向新文件,如下所示:
# www.domain.com/products/category/product.php?id=103
# to
# www.domain.com/products/new-category-name/new-product-name.html
为了处理?,我有以下似乎工作正常:
if ($args ~ "id=103") {
rewrite ^ /products/new-category-name/new-product-name.html? permanent;
}
这看起来怎么样?我知道if 在 nginx 中主要是个坏主意,但我不完全明白为什么。上面的规则可以吗?它似乎工作正常。最后,我有大约 100 个这样的 URL 需要重定向。是否可以为每个 url 复制此规则?
谢谢
更新
映射看起来是一个很好的解决方案,但我不确定在哪里放置代码。我目前有以下:
location / {
try_files $uri $uri/ @modx-rewrite;
}
声明需要在此位置块之前放置任何其他规则。
【问题讨论】: