>  기사  >  백엔드 개발  >  自定义Nginx配置不成功,为何?

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

WBOY
WBOY원래의
2016-06-06 20:41:081123검색

原先我在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으로 문의하세요.