nginx配置偽靜態(tài)和適配客戶端的方法步驟
更新時(shí)間:2019年05月18日 13:39:45 作者:lingying5
這篇文章主要介紹了nginx配置偽靜態(tài)和適配客戶端的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
后端用的thinkphp3.2.3框架,如果您是其他的語(yǔ)言或者,注意適當(dāng)修改下
server {
listen 80;
server_name www.morgen.club;
#charset koi8-r;
#access_log logs/host.access.log main;
網(wǎng)站根目錄
location / {
root html;
index index.html index.htm;
#設(shè)置訪問設(shè)備
set $source_device 'index';
#判斷為手機(jī)客戶端或ipad
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
set $source_device 'phone';
}
#根目錄
if ($request_uri ~* ^/$){
rewrite ^(.*)$ /index.php?s=/Home/$source_device/index.html last;
break;
}
#電腦首頁(yè)
if ($request_uri ~* ^/Home/index/index.html$) {
rewrite ^/Home/index/index.html$ /web/ permanent;
break;
}
#電腦首頁(yè)分頁(yè)
if ($request_uri ~* ^/Home/index/index/page/(\d*).html$) {
rewrite ^/Home/index/index/page/(\d*).html$ /web/pages/$1/ permanent;
break;
}
#電腦首頁(yè)分類首頁(yè)
if ($request_uri ~* ^/Home/index/index/cate/(\d*).html$) {
rewrite ^/Home/index/index/cate/(\d*).html$ /web/cates/$1/ permanent;
break;
}
#電腦首頁(yè)分類分頁(yè)
if ($request_uri ~* ^/Home/index/index/cate/(\d*)/page/(\d*).html$) {
rewrite ^/Home/index/index/cate/(\d*)/page/(\d*).html$ /web/cates/$1/pages/$2/ permanent;
break;
}
#電腦首頁(yè)搜索
if ($request_uri ~* ^/Home/index/index.html(.*)) {
rewrite ^/Home/index/index.html(.*) /web/search?$query_string permanent;
break;
}
#電腦書籍頁(yè)面
if ($request_uri ~* ^/Home/index/books/book/(\d*).html$) {
rewrite ^/Home/index/books/book/(\d*).html$ /web/books/$1/ permanent;
break;
}
#電腦章節(jié)頁(yè)面
if ($request_uri ~* ^/Home/index/contents/books/(\d*)/chapters/(\d*).html$) {
rewrite ^/Home/index/contents/books/(\d*)/chapters/(\d*).html$ /web/books/$1/chapters/$2/ permanent;
break;
}
#手機(jī)首頁(yè)
if ($request_uri ~* ^/Home/phone/index.html$) {
rewrite ^/Home/phone/index.html$ /phone/ last;
break;
}
#手機(jī)首頁(yè)分頁(yè)
if ($request_uri ~* ^/Home/phone/index/page/(\d*)(.*)$) {
rewrite ^/Home/phone/index/page/(\d*).html /phone/pages/$1/ permanent;
break;
}
#手機(jī)首頁(yè)分類首頁(yè)
if ($request_uri ~* ^/Home/phone/index/cate/(\d*).html$) {
rewrite ^/Home/phone/index/cate/(\d*).html$ /phone/cates/$1/ permanent;
break;
}
#手機(jī)首頁(yè)分類分頁(yè)
if ($request_uri ~* ^/Home/phone/index/cate/(\d*)/page/(\d*).html$) {
rewrite ^/Home/phone/index/cate/(\d*)/page/(\d*).html$ /phone/cates/$1/pages/$2/ permanent;
break;
}
#手機(jī)首頁(yè)搜索
if ($request_uri ~* ^/Home/phone/index.html?(.*)) {
rewrite ^/Home/phone/index.html(.*) /phone/index.html$1 permanent;
break;
}
#手機(jī)書籍頁(yè)面
if ($request_uri ~* ^/home/phone/books/book/(\d*).html$) {
rewrite ^/home/phone/books/book/(\d*).html$ /phone/books/$1/ permanent;
break;
}
#手機(jī)章節(jié)頁(yè)面
if ($request_uri ~* ^/home/phone/contents/books/(\d*)/chapters/(\d*).html$) {
rewrite ^/home/phone/contents/books/(\d*)/chapters/(\d*).html$ /phone/books/$1/chapters/$2/ permanent;
break;
}
if ($request_uri ~* ^/Home/book/(.*)$) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
if (!-e $request_filename) {
return 404;
}
}
電腦瀏覽器端
location /web {
root html;
index index.html index.htm;
#如果設(shè)備為手機(jī)或ipad
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
rewrite ^/web(.*) /phone$1 permanent;
}
#電腦首頁(yè)搜索
if ($request_uri ~ ^/web/search(.*)$) {
rewrite ^(.*) /index.php?s=/Home/index/index.html last;
break;
}
#電腦首頁(yè)
set $index false;
if ($request_uri ~* ^/web$) {
set $index true;
}
if ($request_uri ~* ^/web/$) {
set $index true;
}
if ($index = true){
rewrite ^/web(.*) /index.php?s=/Home/index/index.html last;
break;
}
#電腦首頁(yè)分頁(yè)
set $index_page false;
if ($request_uri ~* ^/web/pages/(\d*)$) {
set $index_page true;
}
if ($request_uri ~* ^/web/pages/(\d*)/$) {
set $index_page true;
}
if ($index_page = true){
rewrite ^/web/pages/(\d*)(.*) /index.php?s=/Home/index/index/page/$1.html last;
break;
}
#電腦分類首頁(yè)
set $cate false;
if ($request_uri ~* ^/web/cates/(\d*)$) {
set $cate true;
}
if ($request_uri ~* ^/web/cates/(\d*)/$) {
set $cate true;
}
if ($cate = true){
rewrite ^/web/cates/(\d*)(.*) /index.php?s=/Home/index/index/cate/$1.html last;
break;
}
#電腦分類分頁(yè)
set $cate_page false;
if ($request_uri ~* ^/web/cates/(\d*)/pages/(\d*)$) {
set $cate_page true;
}
if ($request_uri ~* ^/web/cates/(\d*)/pages/(\d*)/$) {
set $cate_page true;
}
if ($cate_page = true){
rewrite ^/web/cates/(\d*)/pages/(\d*)(.*) /index.php?s=/Home/index/index/cate/$1/page/$2.html last;
break;
}
#電腦書籍頁(yè)面
set $book false;
if ($request_uri ~* ^/web/books/(\d*)$) {
set $book true;
}
if ($request_uri ~* ^/web/books/(\d*)/$) {
set $book true;
}
if ($book = true){
rewrite ^/web/books/(\d*)(.*) /index.php?s=/Home/index/books/book/$1.html last;
break;
}
#電腦章節(jié)頁(yè)面
set $chapter false;
if ($request_uri ~* ^/web/books/(\d*)/chapters/(.*)$) {
set $chapter true;
}
if ($request_uri ~* ^/web/books/(\d*)/chapters/(.*)/$) {
set $chapter true;
}
if ($chapter = true){
rewrite ^/web/books/(\d*)/chapters/(.*)/ /index.php?s=/Home/index/contents/books/$1/chapters/$2.html last;
break;
}
if (!-e $request_filename) {
return 404;
}
}
手機(jī)和平板端
location /phone {
root html;
index index.html index.htm;
#如果設(shè)備不是手機(jī)或ipad
if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
rewrite ^/phone(.*) /web$1 permanent;
}
#電腦首頁(yè)搜索
if ($request_uri ~ ^/phone/search(.*)$) {
rewrite ^(.*) /index.php?s=/Home/phone/index.html last;
break;
}
#手機(jī)首頁(yè)
set $index false;
if ($request_uri ~* ^/phone$) {
set $index true;
}
if ($request_uri ~* ^/phone/$) {
set $index true;
}
if ($index = true){
rewrite ^/phone(.*) /index.php?s=/Home/phone/index.html last;
break;
}
#手機(jī)首頁(yè)分頁(yè)
set $index_page false;
if ($request_uri ~* ^/phone/pages/(\d*)$) {
set $index_page true;
}
if ($request_uri ~* ^/phone/pages/(\d*)/$) {
set $index_page true;
}
if ($index_page = true){
rewrite ^/phone/pages/(\d*)(.*) /index.php?s=/Home/phone/index/page/$1.html last;
break;
}
#手機(jī)分類首頁(yè)
set $cate false;
if ($request_uri ~* ^/phone/cates/(\d*)$) {
set $cate true;
}
if ($request_uri ~* ^/phone/cates/(\d*)/$) {
set $cate true;
}
if ($cate = true){
rewrite ^/phone/cates/(\d*) /index.php?s=/Home/phone/index/cate/$1.html last;
break;
}
#手機(jī)分類分頁(yè)
set $cate_page false;
if ($request_uri ~* ^/phone/cates/(\d*)/pages/(\d*)$) {
set $cate_page true;
}
if ($request_uri ~* ^/phone/cates/(\d*)/pages/(\d*)/$) {
set $cate_page true;
}
if ($cate_page = true){
rewrite ^/phone/cates/(\d*)/pages/(\d*)(.*) /index.php?s=/Home/phone/index/cate/$1/page/$2.html last;
break;
}
#手機(jī)書籍頁(yè)面
set $book false;
if ($request_uri ~* ^/phone/books/(\d*)$) {
set $book true;
}
if ($request_uri ~* ^/phone/books/(\d*)/$) {
set $book true;
}
if ($book = true){
rewrite ^/phone/books/(\d*)(.*) /index.php?s=/Home/phone/books/book/$1.html last;
break;
}
#手機(jī)書籍分頁(yè)頁(yè)面
set $book false;
if ($request_uri ~* ^/phone/books/(\d*)/pages/(\d*)$) {
set $book true;
}
if ($request_uri ~* ^/phone/books/(\d*)/pages/(\d*)/$) {
set $book true;
}
if ($book = true){
rewrite ^/phone/books/(\d*)/pages/(\d*) /index.php?s=/Home/phone/books/book/$1/page/$2.html last;
break;
}
#手機(jī)章節(jié)頁(yè)面
set $chapter false;
if ($request_uri ~* ^/phone/books/(\d*)/chapters/(.*)$) {
set $chapter true;
}
if ($request_uri ~* ^/phone/books/(\d*)/chapters/(.*)/$) {
set $chapter true;
}
if ($chapter = true){
rewrite ^/phone/books/(\d*)/chapters/(.*)/ /index.php?s=/Home/phone/contents/books/$1/chapters/$2.html last;
break;
}
if (!-e $request_filename) {
return 404;
}
}
location ~ .xml(.*) {
root html/ttt/;
}
location ~ .txt(.*) {
root html/ttt/;
}
location ~ .gif(.*) {
root html/ttt/;
}
location ~ .jpg(.*) {
root html/ttt/;
}
location ~ .css(.*) {
root html/ttt/;
}
location ~ .js$ {
root html/ttt/;
}
location ~ .php$ {
root html/ttt;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_buffers 8 256k;
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
實(shí)現(xiàn)Nginx中使用PHP-FPM時(shí)記錄PHP錯(cuò)誤日志的配置方法
最近在本地搭建的LNMP的開發(fā)環(huán)境。為了開發(fā)的時(shí)候不影響前端的正常開發(fā)就屏蔽的PHP里面php.ini中的一些錯(cuò)誤提示。但是這樣一來(lái),就影響到了后端開發(fā)的一些問題比如不能及時(shí)調(diào)試開發(fā)中的一些問題2014-05-05
Nginx配置文件的使用以及實(shí)現(xiàn)負(fù)載均衡的4種常用方式
這篇文章主要介紹了Nginx配置文件的使用以及實(shí)現(xiàn)負(fù)載均衡的4種常用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Nginx服務(wù)器的反向代理proxy_pass配置方法講解
這篇文章主要介紹了Nginx服務(wù)器的反向代理proxy_pass配置方法講解,包括經(jīng)常被提到的url的/問題的相關(guān)說明,需要的朋友可以參考下2016-01-01

