nginx如何将网址重定向到特定页面

我看过这个问题,该问题描述了如何在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;
}

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

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

然后,我还有其他页面可以简单地重定向到.php扩展名

例如test.com\about\test.com\about.php

做这个的最好方式是什么?
找到了答案…假设以下服务器块 test.com

server {
    listen       80;
    server_name  www.test.com;
    ...
}

将适当的正则表达式位置路径添加到重定向URL ,rewritereturn将其添加到重定向URL。

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;
}


示例配置

    location /titanium-stainless-jewelry  {

      rewrite ^/.*   https://$server_name/stainless-stainless-jewelry permanent;
}

  

路径修改重定向  

pre.weifeng.com/en/   开始路径url 重定向到  pre.weifeng.com路径
        location ~ /en {
           rewrite ^/en/(.*)  https://pre.weifeng.com/$1 permanent;  
   }

  



原文地址:https://www.cnblogs.com/weifeng1463/p/15716441.html