nginx如何将URL重定向到特定页面

时间:2015-07-29 05:43:53

标签: nginx

我查看了this question,其中介绍了如何在nginx中重定向网址,如下所示

# main server block for www.test.com
server {
    listen       80;
    server_name  www.test.com;
    ...
}

# redirect test.com to www.test.com
server {
        server_name test.com;
        return 301 $scheme://www.test.com$request_uri;
}

我需要做的是重定向一组单独的页面,所以想知道如何做到这一点

e.g。 test.com\indextest.com\hometest.com\main test.com\index.php

然后我有一些其他页面只需简单地重定向到.php扩展名

e.g。 test.com\about \test.com\about.php

e.g。 test.com\contact \test.com\contact.php

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

找到答案...假设test.com

的以下服务器块
server {
    listen       80;
    server_name  www.test.com;
    ...
}

添加相应的正则表达式位置路径,并将rewritereturn添加到重定向网址。

test.com\indextest.com\hometest.com\maintest.com\index.php

location ~ ^/(index|home|main) {
    rewrite ^/.* http://$server_name/index.php permanent;
} 

test.com\about\test.com\about.php

location /about {
    rewrite ^/.* http://$server_name/about.php permanent;
}