Home >Operation and Maintenance >Nginx >How to configure pseudo-static and adapt client in nginx
后端用的thinkphp3.2.3框架,如果您是其他的语言或者,注意适当修改下
server { listen 80; server_name www.morgen.club; #charset koi8-r; #access_log logs/host.access.log main;
网站根目录
location / { root html; index index.html index.htm; #设置访问设备 set $source_device 'index'; #判断为手机客户端或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; } #电脑首页 if ($request_uri ~* ^/home/index/index.html$) { rewrite ^/home/index/index.html$ /web/ permanent; break; } #电脑首页分页 if ($request_uri ~* ^/home/index/index/page/(\d*).html$) { rewrite ^/home/index/index/page/(\d*).html$ /web/pages/$1/ permanent; break; } #电脑首页分类首页 if ($request_uri ~* ^/home/index/index/cate/(\d*).html$) { rewrite ^/home/index/index/cate/(\d*).html$ /web/cates/$1/ permanent; break; } #电脑首页分类分页 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; } #电脑首页搜索 if ($request_uri ~* ^/home/index/index.html(.*)) { rewrite ^/home/index/index.html(.*) /web/search?$query_string permanent; break; } #电脑书籍页面 if ($request_uri ~* ^/home/index/books/book/(\d*).html$) { rewrite ^/home/index/books/book/(\d*).html$ /web/books/$1/ permanent; break; } #电脑章节页面 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; } #手机首页 if ($request_uri ~* ^/home/phone/index.html$) { rewrite ^/home/phone/index.html$ /phone/ last; break; } #手机首页分页 if ($request_uri ~* ^/home/phone/index/page/(\d*)(.*)$) { rewrite ^/home/phone/index/page/(\d*).html /phone/pages/$1/ permanent; break; } #手机首页分类首页 if ($request_uri ~* ^/home/phone/index/cate/(\d*).html$) { rewrite ^/home/phone/index/cate/(\d*).html$ /phone/cates/$1/ permanent; break; } #手机首页分类分页 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; } #手机首页搜索 if ($request_uri ~* ^/home/phone/index.html?(.*)) { rewrite ^/home/phone/index.html(.*) /phone/index.html$1 permanent; break; } #手机书籍页面 if ($request_uri ~* ^/home/phone/books/book/(\d*).html$) { rewrite ^/home/phone/books/book/(\d*).html$ /phone/books/$1/ permanent; break; } #手机章节页面 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; #如果设备为手机或ipad if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) { rewrite ^/web(.*) /phone$1 permanent; } #电脑首页搜索 if ($request_uri ~ ^/web/search(.*)$) { rewrite ^(.*) /index.php?s=/home/index/index.html last; break; } #电脑首页 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; } #电脑首页分页 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; } #电脑分类首页 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; } #电脑分类分页 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; } #电脑书籍页面 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; } #电脑章节页面 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; } }
手机和平板端
location /phone { root html; index index.html index.htm; #如果设备不是手机或ipad if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) { rewrite ^/phone(.*) /web$1 permanent; } #电脑首页搜索 if ($request_uri ~ ^/phone/search(.*)$) { rewrite ^(.*) /index.php?s=/home/phone/index.html last; break; } #手机首页 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; } #手机首页分页 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; } #手机分类首页 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; } #手机分类分页 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; } #手机书籍页面 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; } #手机书籍分页页面 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; } #手机章节页面 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; } }
The above is the detailed content of How to configure pseudo-static and adapt client in nginx. For more information, please follow other related articles on the PHP Chinese website!