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\index,test.com\home,test.com\main来test.com\index.php
然后,我还有其他页面可以简单地重定向到.php扩展名
例如test.com\about到\test.com\about.php
做这个的最好方式是什么?
找到了答案…假设以下服务器块 test.com
server {
listen 80;
server_name www.test.com;
...
}
将适当的正则表达式位置路径添加到重定向URL ,rewrite或return将其添加到重定向URL。
为test.com\index,test.com\home,test.com\main以test.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;
}

浙公网安备 33010602011771号