thinkphp5在nginx环境下运行的时候默认是不支持经过index.php/index/index/index的形式去访问的,也不支持route,因此须要手动配置nginx使其支持。
apache默认支持php
找到你的thinkphp站点配置项,在其中的php项中如同下面配置html
location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; }
location ~ \.php(.*)$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include snippets/fastcgi-php.conf; }
location / { index index.php index.html index.htm; #若是请求既不是一个文件,也不是一个目录,则执行一下重写规则 if ( !-e $request_filename) { rewrite ^(.*)$ /index.php/?s=$1 last; break; } }