我最近将CakePHP项目导入到新服务器,并能够加载webroot,例如example.com,但是当我转到example.com/pages/about或example.com/pages/contact时,我得到了404。我使用的是Nginx,我认为它的配置不正确,因为在其上部署了相同的CakePHP项目不同的服务器。 (我对CakePHP不太了解,但是使用了类似的PHP MVC框架,例如Laravel)
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/me/directory/webroot;
autoindex off;
index index.php;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
我想知道未正确配置的内容会导致任何非root-uris变为404。
答案 0 :(得分:0)
根据我对问题的评论,更改
try_files $uri $uri/ =404;
...到...
try_files $uri $uri/ /index.php?$args;
...成功了!