nginx在位置重写规则

时间:2013-04-30 19:34:21

标签: nginx rewrite

我必须重定向以下网址:

http://wwww.domain.de/dynamic_subdir1/subdir2/subdir3/?querysting

http://www.domoain.de/dynamic_subdir1/static_dir/subdir2/subdir3/file.php?querysting

在我的配置中:

location ^~ /subdir2/subdir3/ {
   rewrite  ^/(.+?)/subdir2/subdir3/ /$1/static_dir/subdir2/subdir3/file.php?$args break;
}

但是我总是得到500个内部错误,在错误日志中我可以看到以下内容:

rewrite or internal redirection cycle while internally redirecting

我的配置有什么问题?

1 个答案:

答案 0 :(得分:0)

我想你差不多了。假设您正在尝试重写(例如,不发出HTTP redirect),请尝试锚定您的正则表达式:

   rewrite  ^/(.+?)/subdir2/subdir3/$ /$1/static_dir/subdir2/subdir3/file.php?$args break;

请注意第一个模式末尾的$