首頁 >後端開發 >php教程 >自定义Nginx配置不成功,为何?

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

WBOY
WBOY原創
2016-06-06 20:41:081147瀏覽

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

<code class="lang-apache">RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</code>

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

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

<code class="lang-nginx"># nginx configuration
location / {
    if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
    }
}
</code>

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

回复内容:

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

<code class="lang-apache">RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</code>

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

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

<code class="lang-nginx"># nginx configuration
location / {
    if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
    }
}
</code>

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

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

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

再对PHP也做了点设置:

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

http://cloudscape.sohu.com/doc/operation/app-conf.shtml
参考文档中的标题6,自定义Nginx配置部分

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn