rewrite problem

sosogh sosogh at 126.com
Tue Sep 4 12:05:46 UTC 2012


Thank you very much .It works.
But there is another problem.


I want  
http://www.mysite.com/bbs/
to
http://www.mysite.com/

why the following conf does not work?
rewrite ^/bbs/$   /index.php  last;



I want  
http://www.mysite.com/bbs/thread-4270-1-2.html
to
http://www.mysite.com/forum.php?mod=viewthread&tid=4270&extra=1&page=2


why the following conf does not work?
location ~* ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ {
    rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$   /forum.php?mod=viewthread&tid=$1&extra=$2&page=$3 break;
}


Thank you !







Hello!
On Tue, Sep 04, 2012 at 10:59:40AM +0800, sosogh wrote:
> HI list
> I want to redirect
> http://www.mysite.com/bbs/viewthread.php?tid=8123&extra=
> to
> http://www.mysite.com/forum.php?mod=viewthread&tid=8123
>  
> This is what I  place in the "server" block in the nginx.conf
> rewrite  ^/bbs/viewthread.php?tid=([0-9]+).*$   /forum.php?mod=viewthread&tid=$1 last;
>  
> but when visit http://www.mysite.com/bbs/viewthread.php?tid=8123&extra=.
> It shows 404 error.
>  
> Could anyone point me out what is wrong?
> Thank you!
The rewrite in question won't match anything as rewrite work with 
URI without arguments.  Use something like this instead:
location = /bbs/viewthread.php {
    if ($arg_tid ~ ^[0-9]+$) {
        rewrite ^ /forum.php?mod=viewthread&tid=$arg_tid? last;
    }
    ...
}
Some more details may be found here:
http://nginx.org/r/location
http://nginx.org/r/rewrite
http://nginx.org/r/if
Maxim Dounin
_______________________________________________
nginx mailing list
nginx at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20120904/25a583af/attachment.html>


More information about the nginx mailing list