配置Nginx支持pathinfo模式

讓Nginx支持pathinfo

Nginx服務器默認不支持pathinfo, 在需要pathinfo支持的程序中(如thinkphp),則無法支持”/index.php/Home/Index/index”這種網址.

網上流傳的解決辦法很多,這裏提供一種比較簡潔的寫法(只需要改動2行代碼)

典型配置

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    include        fastcgi_params;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

修改第1,6行,支持pathinfo

location ~ \.php(.*)$ { # 正則匹配.php後的pathinfo部分
    root html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
    fastcgi_param PATH_INFO $1; # 把pathinfo部分賦給PATH_INFO變量
    include        fastcgi_params;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
版權聲明:轉載請註明出處 謝謝
發佈了45 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章