自定义Nginx配置不成功,为何?

原先我在apache中的配置如下:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

作用:如果URL所指向的文件在服务器目录中不存在,则将URL全指向index.php中。

结构我是按文档中自定义Nginx配置中描述所建,Nginx我不太会用了个配置转换工具得到在Nginx中的配置:

# nginx configuration
location / {
    if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
    }
}

但放到云景的PHP空间的conf/nginx_server.inc文件中后空间就无法打开了,想问下为啥!

阅读 4.7k
3 个回答

这个问题算是解决了,最终我还是在slimphp项目的readme中找到了解决方法,如下:

location / {
    try_files $uri $uri/ /index.php?$args;
    root /opt/src/app;
}

再对PHP也做了点设置:

location ~ \.php$ {
    root /opt/src/app;
    fastcgi_pass 127.0.0.1:8080;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /opt/src/app/$fastcgi_script_name;
    include /opt/apps/nginx/conf/fastcgi_params;
}
新手上路,请多包涵
新手上路,请多包涵

nginx的自定义配置可能与您的项目整体配置有冲突,可以登录到容器上查看相关配置,修改下配置试试看。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题