需求:http://wwwxxxg.cn/product/view?id=485 改为 http://wwwxxxg.cn/product/view.html?id=485
背景: 框架:CI; 服务器 nginx
解决
nginx 配置如下:
ci application->config->route.php
浏览器地址栏中输入
http://xxxx.cn/product/view.html?id=3
在index.php 加入打印代码 echo $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
浏览器中对应的输出为:funw.com/product/view.html?id=3
推论: nginx rewrite 模块只是改变找目标位置,并不会更改请求头中$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
需求:http://wwwxxxg.cn/product/view?id=485 改为 http://wwwxxxg.cn/product/485.html
nginx conf 加入 rewrite ^/product/(\d+).html$ /product/view/$1 last;
ci route.php 加入一条
$route['product/(:num).html'] = 'product/view/$1';