0

我有重写网址的问题。永久工作正常。但是当我更改为 LAST - 它不起作用。phpinfo 显示旧值。

http://site.com/?parent_id=10 -> http://site.com/parent/10

if ($args ~ "parent_id=(.*)") {
  set $parent $1;
  set $args '';
  rewrite ^/$ /parent/$parent permanent;
}

它应该是内部的,因为未来的重写会将 /parent/10 转换为 Yii 框架 url 规则。我重写旧网站以使用 YiiFramework,并希望保留旧网址。

谢谢,亚历克斯

4

1 回答 1

1

使用IF IS EVIL。附件是一些 URL 重写。还删除set等..不需要字符串!

http://site.com/notes/343
http://site.com/note.php?id=343

rewrite ^/notes/(.*)$ /notes.php?id=$1 last;

http://site.com/users/BlackBenzKid
http://site.com/user.php?id=1

rewrite ^/users/(.*)$ /user.php?username=$1 last;

http://site.com/top
http://site.com/top.php

rewrite ^/top?$ /top.php last;

Complex and further

http://site.com/users/BlackBenzKid/gallery
http://site.com/user.php?username=1&page=gallery

rewrite ^/users/(.*)$/gallery /user.php?username=$1&page=gallery last;

回答你的问题。你想要一些类似的东西:

rewrite ^/parent/(.*)$ /parent.php?id=$1 permanent;
于 2013-05-03T15:10:13.350 回答