Permanent redirection with regex after moving blog

Igor Sysoev is at rambler-co.ru
Thu Aug 13 11:12:58 MSD 2009


On Wed, Aug 12, 2009 at 05:17:30PM -0400, miles wrote:

> this rewrite looks ok, could you show whole server{} config?
> 
> Thanks for asking - I have pasted it below.
> 
> Before that: I just realized that
> 
> location /weblog/ { rewrite ^/(.*)$ /blog/$1 permanent; }
> 
> was actually not even giving me the root of /blog/  (I had left in the old
> statement as well). It actually returns:
> 
> /blog/weblog
> 
> which is a 404.
> 
> Anyway, on to the server statements in nginx.conf:
> 
> 
> 
>   server {
>     server_name www.tinyapps.org;
>     rewrite ^/(.*) http://tinyapps.org/$1 permanent;
>   }
> 
>   server {
>     server_name tinyapps.org;
>     root (root path is displayed here)
>     autoindex  on;
> 
>     location = /favicon.ico { return 204; }
>     location = /robots.txt { return 204; }
>     location /vnc { rewrite /vnc /docs/vnc/ permanent; }
>     location /weblog/ { rewrite ^/(.*)$ /blog/$1 permanent; }
>     location /docs.html { rewrite /docs.html /docs/ permanent; }
>     location /ftp.html { rewrite /ftp.html /docs/ftp.html permanent; }
>     location /not_yours_to_give.html { rewrite /not_yours_to_give.html /docs/not_yours_to_give.html permanent; }
>     location /quotes.html { rewrite /quotes.html /docs/quotes.html permanent; }
>     location /search_tips.html { rewrite /search_tips.html /docs/search_tips.html permanent; }
>     location /treo_600.html { rewrite /treo_600.html /docs/treo_600.html permanent; }
>     location /aid4mail { rewrite /aid4mail /docs/aid4mail/ permanent; }
>     location /drive_snapshot_review { rewrite /drive_snapshot_review /docs/drive_snapshot_review/ permanent; }
>     location /freenx { rewrite /freenx /docs/freenx/ permanent; }
>     location /poems { rewrite /poems /docs/poems/ permanent; }
>     location /virtualpc { rewrite /virtualpc /docs/virtualpc/ permanent; }
>     location /blog/atom.xml { rewrite /blog/atom.xml /blog/index.rss20 permanent; }
>     location = /blog/index.rss { rewrite ^ /blog/index.rss20 permanent; }
>     location = /blog/index.atom { rewrite ^ /blog/index.rss20 permanent; }
>   }

All these location like

     location /docs.html { rewrite /docs.html /docs/ permanent; }
     location /quotes.html { rewrite /quotes.html /docs/quotes.html permanent; }

it's better to change to

     location = /docs.html { rewrite ^ /docs/ permanent; }
     location = /quotes.html { rewrite ^ /docs/quotes.html permanent; }


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list