nginx根据URL中的信息访问到指定目录

比如我现在的URL(美化后的URL)是
http://segmentfault.com/1/test/test
然后nginx做处理,访问目录为/home/data/segmentfault/1/web
经过nginx处理,实际URL为
http://segmentfault.com/1/web/index.php?test/test

美化后的URL
http://segmentfault.com/2/test/test
访问目录为/home/data/segmentfault/2/web
实际URL为
http://segmentfault.com/2/web/index.php?test/test

就是根据版本号来选择不同的文件夹,然后pathinfo模式依然生效。框架代码为Yii2。

该如何设置nginx的跳转规则呢?
或者有没有相关资料,这样的内部跳转该如何形容?有没有专有名词描述?

阅读 17.3k
2 个回答

location 里使用正则匹配,root 设置目录时读取正则匹配的内容组装路径。
相关nginx术语:location,正则,set 指令,map 指令,root 指令,alias 指令。

你这种访问方式根本不用做多余的设置。。。

server {
        listen 80;
        server_name segmentfault.com;
        include enable-php.conf;
        location ~ \.php$ {
        include fastcgi.conf;
        }
        root /home/data/segmentfault;
        index index.html index.php;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题