这是我的Nginx conf的摘录:
location / {
try_files $uri $uri/ /index.php$is_args$args @no-dot-php;
autoindex on;
}
location ~ \.php$ {
internal;
try_files $uri =404;
include snippets/fastcgi-php.conf;
fastcgi_pass php_upstream;
}
location @no-dot-php {
rewrite ^(.*)$ /$1.php last;
}
我想使用一个无扩展的php指令,它工作正常。我添加了internal;
,因此,如果您将.php添加到网址中,则会抛出404,这是可行的。
如果url为https://example.com/view-task?act=view&id=2
,它将正确显示页面。
现在这是我的问题。如果没有url参数,则将下载php文件而不是将其渲染。例如:https://example.com/manage-tasks
将下载“管理任务” php文件。
添加一个虚拟参数可以解决该问题,但这确实很奇怪。例如:https://example.com/manage-tasks?dummy=1
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
解决方案:
/index.php$is_args$args引起此问题-将其删除。
由Richard Smith提供