thinkphp nginx php-fpm url rewrite 导致 404 错误,thinkphpnginx
thinkphp nginx php-fpm url rewrite 导致 404 错误,thinkphpnginx
thinkphp nginx php-fpm url rewrite 导致 404 错误
之前thinkphp的系统部署在apache上,考虑到在并发性能nginx比apache强悍得多,所以在centos上以 nginx+php-fpm模式重新部署了thinkphp系统,结果发现诸如
1 | /index.php/home/user/verify |
此类的url nginx会报404错误,但是改成
1 | /index.php?s=/home/user/verify |
之后却能够访问,这说明前一种url nginx不支持,那为啥会不支持呢?要解决这个问题首先要明白thinkPHP的几种url模式。
thinkPHP URL模式
1. pathinfo 模式
1 | /index.php/home/user/verify |
这种url格式,需要服务器支持pathinfo才行
2. rewrite 模式
1 | /?s=/home/user/verify |
去掉index.php的伪静态模式
3. 兼容模式
普通的模式加s=/参数/或者m=model&a=action
thinkPHP URL模式配置
在文件 /Application/Common/conf.php 中修改 URL_MODEL 的值
1 | 'URL_MODEL' => 3 |
nginx pathinfo模式配置
nginx默认是不支持pathinfo模式的,需要手动添加rewrite规则来支持
1. 打开/nginx/conf/vhost目录下的站点配置文件。
2. 在server节点中增加 如下location规则:
1 2 3 4 5 6 7 8 9 10 11 | #以index.php开头的uri location ~ ^/index.php(.*) { #如果文件或者路径不存在 if (!-e $request_filename) { #将pathinfo模式的uri重写成普通模式 rewrite ^/index.php(.*)$ /index.php?s=$1 last; break; } } |
3. 重新载入nginx配置信息
1 | service nginx reload |
Done !

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
