thinkphp只有⾸页,Linux下Nginx部署Thinkphp5访问任何地址
都只显⽰⾸页
thinkphp5写的项⽬,部署到Linux环境下,不管访问那个⽅法,都强制跳转到Index/index⽅法。
### ⽅法⼀
修改 f ⽂件,如果有单独域名配置。则修改域名配置即可
```
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
nginx部署前端项目fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / { #去掉$
if ( -f $request_filename) {
break;
}
if ( !-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
#新增
try_files $uri $uri/ /index.php?$query_string;
}
```
### ⽅法⼆
如果你的服务器是Apache,那么修改更⽬录下的 .htaccess (这种不⼀定管⽤,因此不太建议)
```
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/?$1 [QSA,PT,L] #注意多了?号
```
### ⽅法三
修改项⽬配置 config.php 中的 pathinfo_fetch 在末尾添加上 REQUEST_URI。这种会出现 xx/xx?x=x 报错。```
// 兼容PATH_INFO获取
'pathinfo_fetch' => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL', 'REQUEST_URI'],
```
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论