我最近将子域名移动到了我的主域名,但我也更改了网址结构。
以前我的页面有http://sub.domain.com/companies/my-company-id/year/2012/charts
当移动到主域时,我删除了所有复杂的URL到juts get:
http://www.domain.com/companies/my-company
我目前有以下规则:
rewrite ^/companies/(.*)$ http://www.domain.com/companies/$1 permanent;
但当某人访问http://sub.domain.com/companies/my-company/2012/charts
这样的网页时,他们会重定向到http://www,.domain.com/companies/my-company/2012/charts
并获得404。
我喜欢强制重定向到http://www,.domain.com/companies/my-company-id
,无论my-company-id之后是什么
答案 0 :(得分:1)
目前,参数$ 1在/ companies之后拥有整个URI,因此您将被重定向到原始路径。您应该只在$ 1中提取company-id。 使用此:
rewrite ^/companies/(.*)/(.*)$ http://www.domain.com/companies/$1 permanent;
此处公司ID之后的其余URI将在参数$ 2中可用,这在重写条件中是不需要的。