期望
一个域名通过不同的前缀路径,解析到不同的项目(centos-nginx-php)
产生问题:框架路由前缀被读取 路由异常
思路
在nginx重写uri&&重新匹配赋值
核心配置示例admin
location /admin {
root "项目路径";
index index.php;
rewrite ^/admin/(.*)$ /admin/index.php/$1 last;
rewrite ^/admin/?(.*)$ /$1 break;
# if (!-e $request_filename){
# rewrite ^/(.*)$ /index.php?s=/$1 last;
# }
}
location ~ ^/admin(?U).+\.php(.*)$ {
root "项目路径";
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^/admin((?U).+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
fastcgi_param DOCUMENT_URI $fastcgi_path_info;
fastcgi_param REQUEST_URI $fastcgi_path_info;
}
需要了解 :
location 匹配顺序
rewrite 语法
正则语法
fastcgi模块 语法
nginx官网地址
http://nginx.org/en/docs/
阿里tengine地址
http://tengine.taobao.org/nginx_docs/cn/docs/
- 本文链接: https://halo.cjh.kim/archives/帮助同事解决nginx域名项目一对多问题
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!