nginx1.14.0配置支持pathinfo和url重寫,運行thinkphp5

nginx1.14.0配置支持pathinfo和url重寫,運行thinkphp5

apache是默認支持pathinfo,而nginx本身是不支持pathinfo
何爲pathinfo?請看這條url127.0.0.1/test.php/a/b/c,/a/b/c即爲pathinfo


配置pathinfo

經典配置如下:

location ~ \.php${
    ......
}

配置支持pathinfo

location ~ \.php(.*)${
    fastcgi_param PATH_INFO $1;//這條指令是必須添加的
}

配置好pathinfo時可建一個test.php查看自己是否已經成功

<?php
//test.php
echo '<pre>';
print_r($_SERVER);

用127.0.0.1/test.php/a/b/c,進行訪問若打印的數組當中存在PATH_INFO則成功!

URL重寫

當你配置好了pathinfo時,如果此時你運行thinkphp5,需要這樣子訪問,127.0.0.1/xxx/public/index.php/xxx/xx,每一次訪問都需要攜帶index.php,這時可通過url的重寫將index.php隱藏起來

配置如下
在location / { …. }當中添加下列指令

if (!-e $request_filename) {
    rewrite  ^/First/public/(.*)$  /First/public/index.php?s=/$1  last;
}

/First/public/index.php,index.php前面有幾級的目錄就需要添加幾級的,例如我的項目在訪問當中,是這樣子127.0.0.1/First/public/index.php/…….,則需要添加First/public;

  1. 此內容參考各大網站、ThinkPHP官方手冊以及私人博客,若有不合理之處,請各位博友指出
  2. 本文章爲博主原創,轉載請備註出處
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章