1. 程式人生 > >nginx、TP框架實現相容pathinfo和rewrite兩種url訪問方式

nginx、TP框架實現相容pathinfo和rewrite兩種url訪問方式

環境:centos7,yum安裝的nginx1.10、php-fpm,tp3.2
本方法只需要配置nginx.conf的一個檔案就可以支援pathinfo和rewrite兩種url訪問方式

vim /etc/nginx/nginx.conf

1、支援rewrite方式:
location / 處新增以下程式碼

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

最終變成

location / {
            root   html/code;
            index
index.php index.html index.htm; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

2.實現pathinfo模式
找到有效的 location ~ .php$那部分
首先,將這個$去掉,
然後裡面新增以下兩行程式碼

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO
$fastcgi_path_info;

最終變成

location ~ \.php {
            root           html/code;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;         
            fastcgi_param
SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

3.重啟nginx和php-fpm即可使用了

service nginx restart
service php-fpm restart

相關推薦

nginxTP框架實現相容pathinforewriteurl訪問方式

環境:centos7,yum安裝的nginx1.10、php-fpm,tp3.2 本方法只需要配置nginx.conf的一個檔案就可以支援pathinfo和rewrite兩種url訪問方式 vim /etc/nginx/nginx.conf 1、支援r

springboot+mybatis+druid實現多資料來源配置,支援註解xmlsql書寫方式

https://github.com/cheegoday/springboot-demo-djg 要點: 一、依次建立以下幾個Bean 資料來源:DataSource session工廠:SqlSessionFactory 執行緒安全session:Sql

Redis 設計與實現之RDB AOF 持久化模式詳解

在執行情況下, Redis 以資料結構的形式將資料維持在記憶體中, 為了讓這些資料在 Redis 重啟之後仍然可用, Redis 分別提供了 RDB 和 AOF 兩種持久化模式。 在 Redis 執行時, RDB 程式將當前記憶體中的資料庫快照儲存到磁碟檔案中, 在 Red

20-02圖解分析redis的RDBAOF持久化機制的工作原理

分析redis的RDB和AOF兩種持久化機制的工作原理 我們已經知道對於一個企業級的redis架構來說,持久化是不可減少的。 企業級redis叢集架構:海量資料、高併發、高可用。 持久化主要是做災難恢復,資料恢復,也可以歸類到高可用的一個環節裡面去。 比如你redis整個掛了,然後red

poi匯入匯出excel檔案,相容.xls.xlsx格式

這個是測試類: package com.fishroad.util; import java.io.File; import java.io.FileInputStream; import java.math.BigDecimal; import java.text.Si

LessSass環境配置(WebstormSublime

1.先說Webstorm配置Less: 到Webstorm的Settings-File Watchers裡面,右邊的+裡面新增less,然後在專案下新建.less檔案就可以了,然後就會自動編譯就行了。 然後就可以在Webstorm裡面看見編譯後的檔案了。

forwardredirect跳轉方式

寫部落格的目的是為了自己學習和複習,許多解釋來自於網上大牛,文章非原創。能幫助到別人當然更好不過,水平有限,可能有許多錯誤,歡迎指正 上課老師一直搶到forward和redirect的區別和重要性,一直沒記住。現在做一下簡單區分。至於完整對比總結,以後

system.outlogger日誌輸出方式的不同

首先,看程式碼: 第一行資料是使用system輸出的,第二行資料是通過logger輸出的,從上面可以看到,system輸出的日誌僅僅是輸出物件本身,而通過logger輸出的日誌,不光會輸出物件本身,還會輸出程式碼執行的時間,是哪一個class檔案輸出的日誌,在哪一行輸出的,很方便。 想要

spring中BeanNameAutoProxyCreatorAnnotationAwareAspectJAutoProxyCreatorAOP代理方式使用總結

昨天程式碼review的過程中,我們遇到了兩種AOP代理的方式,一種是BeanNameAutoProxyCreator,另外一種是AnnotationAwareAspectJAutoProxyCreator。當時大家問這兩種有和區別,十年的老司機 底氣並不足的描述書寫方式不

ThinkPHP 常用配置 url訪問方式

改變左右定界符: ThinkPHP/Conf/convention.php 'TMPL_L_DELIM' => '<{','TMPL_R_DELIM' => '}>', 與資料庫連線有關的配置: ThinkPHP/Conf/convention.p

vue的paramsquery傳參方式URL的顯示

路由配置: // 首頁 { path: '/home', name:'home', component:Home }, // 行情 { path: '/markets', name:'market', co

phpshe b2c商城系統配置nginx支持pathinforewrite的寫法

系統 con eal index.php 代碼 www set 環境 配置nginx 找到/usr/local/webserver/nginx/conf/nginx.conf文件(環境配置不一樣,路徑也可能不一樣) 並在server {...省略掉的代碼}中添加如下代碼即可

nginx+tomcat+redis叢集實現負載均衡session同步的步驟問題處理方法

最近在研究nginx+tomcat的負載均衡功能, 因為需要實現failover時使用者無感知的效果,所以我考慮使用tomcat的session同步方式來實現。網上能查到的東西我就直接貼連結了,我把搭建這套系統的過程,與遇到的坑的處理方式說明一下。 我使用的系

golang實現相容LinuxWindows的路徑處理

//========================================== //建立時間:2017-4-20 首次建立 //功能描述:windows和Linux下路徑相容處理 //=

Android手機平板不誤,使用Fragment實現相容手機平板的程式

記得我之前參與開發過一個華為的專案,要求程式可以支援好幾種終端裝置,其中就包括Android手機和Android Pad。然後為了節省人力,公司無節操地讓Android手機和Android Pad都由我們團隊開發。當時專案組定的方案是,製作兩個版本的App

SSM框架——實現分頁搜尋分頁

分頁是JAVA WEB專案常用的功能,昨天在Spring MVC中實現了簡單的分頁操作和搜尋分頁,在此記錄一下。使用的框架為(MyBatis+SpringMVC+Spring)。         首先我們需要一個分頁的工具類: 1.分頁 import java.

Nginx下使Thinkphp URL模式支援PATHINFOREWRITE

1.支援PATHINFO 找到location ~ \.php { ,把$去掉,並在裡面加上這兩句 fastcgi_split_path_info ^(.+\.php)(.*)$;

js 鍵盤記錄實現(相容FireFoxIE)

主要分四個部分 第一部分:瀏覽器的按鍵事件 第二部分:相容瀏覽器 第三部分:程式碼實現和優化 第四部分:總結 第一部分:瀏覽器的按鍵事件 用js實現鍵盤記錄,要關注瀏覽器的三種按鍵事件型別,即keydown,keypress和keyup,它們分別對應onkeydow

PHP+TP框架實現微信網頁授權,獲取使用者資訊

一.準備工作. 1.將需要使用到的微信配置放在config.php配置檔案中方便獲取.(我使用的是微信測試號) return array( //'配置項'=>'配置值' 'appID'=>'wxf58**********f2e', '

mvc RPCSOA框架 的適用範圍區別

1、背景  隨著網際網路的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分散式服務架構以及流動計算架構勢在必行,亟需一個治理系統確保架構有 條不紊的演進。 單一應用架構 當網站流量很小時,只需一個應用,將所有功能都部署在一起,以減少部署節點和成本。