nginx如何将url重定向到特定页面
Posted
技术标签:
【中文标题】nginx如何将url重定向到特定页面【英文标题】:nginx how do I redirect a url to a specific page 【发布时间】:2015-10-19 22:30:53 【问题描述】:我看过this question,它描述了如何在nginx中重定向一个url,如下所示
# 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\contact
转 \test.com\contact.php
最好的方法是什么?
【问题讨论】:
【参考方案1】:找到答案...假设test.com
的以下服务器块
server
listen 80;
server_name www.test.com;
...
添加适当的正则表达式位置路径,并将rewrite
或return
添加到重定向网址。
对于 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;
【讨论】:
以上是关于nginx如何将url重定向到特定页面的主要内容,如果未能解决你的问题,请参考以下文章