Home > Backend Development > PHP Tutorial > Nginx+CI出现404异常

Nginx+CI出现404异常

WBOY
Release: 2016-06-13 12:28:42
Original
1053 people have browsed it

Nginx+CI出现404错误

最近刚学ci框架,做了个简单的项目,在本地搭服务器的环境都调通了,但是部署到远程服务器时:

 

http://example.com/(index.php)/ 可以访问(为配置的默认controller-class)

http://example.com/(index.php)/[controller-class]/[controller-method] 不可以访问(提示404错误!)

 

最后百度原因:

对于/index.php/abc这种url,Apache和Lighttpd会按”index.php?abc”来解释,而nginx会认为是请求名字是“index.php”的目录下的abc文件的内容。所以CI在nginx下不配置rewrite是无法运行的,而在Apache和Lighttpd则正常。

 

解决方案(要点加,重点标):

<span style="color: #008080;"> 1</span> <span style="color: #000000;">  server {</span><span style="color: #008080;"> 2</span>         listen 80<span style="color: #000000;">;</span><span style="color: #008080;"> 3</span>         server_name <strong>example.com</strong><span style="color: #000000;">;</span><span style="color: #008080;"> 4</span>         root <strong>/data/wwwroot/example/</strong><span style="color: #008080;"> 5</span>         index index.php index.html index.<span style="color: #000000;">htm;</span><span style="color: #008080;"> 6</span> <span style="color: #008080;"> 7</span>         location ~* \.(css|js|swf|htm|jpg|png|gif|json|atlas)?<span style="color: #000000;">$ {</span><span style="color: #008080;"> 8</span> <span style="color: #000000;">            expires 1d;</span><span style="color: #008080;"> 9</span>             add_header Pragma <span style="color: #0000ff;">public</span><span style="color: #000000;">;</span><span style="color: #008080;">10</span>             add_header Cache-Control "public"<span style="color: #000000;">;</span><span style="color: #008080;">11</span> <span style="color: #000000;">        }</span><span style="color: #008080;">12</span>         <span style="color: #008080;">13</span>         location /<span style="color: #ff0000;"><strong>controller-class</strong></span>/<span style="color: #000000;"> {</span><span style="color: #008080;">14</span>             <span style="color: #0000ff;">if</span> (!-e <span style="color: #800080;">$request_filename</span><span style="color: #000000;">) {</span><span style="color: #008080;">15</span>                 rewrite ^/<span style="color: #ff0000;"><strong>controller-class</strong></span>/(.*)$  /<strong><span style="color: #ff0000;">controller-class</span></strong>/index.php?q=<span style="color: #800080;">$uri</span>&<span style="color: #800080;">$args</span><span style="color: #000000;">;</span><span style="color: #008080;">16</span> <span style="color: #000000;">            }</span><span style="color: #008080;">17</span> <span style="color: #000000;">        }</span><span style="color: #008080;">18</span>  <span style="color: #008080;">19</span>         location ~ \.<span style="color: #000000;">php$ {</span><span style="color: #008080;">20</span>             fastcgi_pass   127.0.0.1:9000<span style="color: #000000;">;</span><span style="color: #008080;">21</span>             fastcgi_index  index.<span style="color: #000000;">php;</span><span style="color: #008080;">22</span>             fastcgi_param  SCRIPT_FILENAME  <span style="color: #800080;">$document_root$fastcgi_script_name</span><span style="color: #000000;">;</span><span style="color: #008080;">23</span>                         fastcgi_param  PHP_VALUE        open_basedir=<span style="color: #800080;">$document_root</span>:/tmp/:/proc/<span style="color: #000000;">;</span><span style="color: #008080;">24</span>             <span style="color: #0000ff;">include</span><span style="color: #000000;">        fastcgi_params;</span><span style="color: #008080;">25</span> <span style="color: #000000;">        }</span><span style="color: #008080;">26</span> <span style="color: #008080;">27</span>     }
Copy after login

 

参考资料:http://www.2cto.com/os/201301/185926.html【Nginx+CI出现404错误问题】

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template