thinkphp3.2.2怎么兼容nginx

 我来答
千锋教育
2017-11-30 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

需配置URL_MODE=>3 rewrite兼容模式

第一步,修改server块

  • server {

  • listen   80;

  • server_name  www.domain.com domain.com;

  • error_page   404              /404.html;

  • error_page   500 502 503 504  /50x.html;

  • #这个location块处理动态资源请求.

  • location ~  \.php   {

  • root /data0/htdocs/www;

  • fastcgi_pass   127.0.0.1:9000;

  • include        fastcgi.conf;       

  • }

  • #这个location处理能处理所有的静态资源

  • location / {

  • root   /data0/htdocs/www;

  • index  index.php index.html index.htm;

  • #如果请求资源既不是静态目录资源(目录资源就是请求该目录下的默认首页index指令指定的默认资源),也不是静态文件资源时候,就需要脚本动态生成,重写后重新用第一个处理动态请求的location块处理。

  • if (!-e $request_filename){

  • #一定要用(.*)匹配整个URI,包含URI第一个字符反斜杠/

  • rewrite ^(.*)$ /index.php?s=$1 last;

  • }

  • }

  • }

  • 复制代码

  • 第二步:打开thinkphp框架的配置文件convention.php,


  • 修改URL_MODEL=>3,采用rewrite兼容模式,并且修改

  • 'VAR_PATHINFO'=> 's', 重写时我们用的是s=""的形式.


  • 第三步:在浏览器输入:www.domain.com,结果如下:


  • :)


  • 欢迎使用 ThinkPHP!


  • [ 您现在访问的是Home模块的Index控制器 ]


  • 第四步:在浏览器中输入URL时候,还是用rewrite形式的url,就是不要输入入口文件了,其它的不变,例如:

  • http://www.domain.com/module/controler/action/参数1/值1/参数2/值2/


  • 网址中不再需要输入入口文件index.php了,因为在刚才重写时我们已经指定好了入口文件index.php。


  • 注意不推荐用rewrite兼容模式,推荐用rewrite模式:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式