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; } }