thinkphp , 用apache可以访问我指定的方法,nginx就不行,不知为啥

apache 和 nginx 都没有配置rewrite , 为什么apache可以正常访问, 而用nginx的时候,我明明访问的是 verify方法,却偏偏访问index 方法。

http://zizo.test.com/admin.php/login/verify
zizo.test.com  是配的本地路径。

图片描述

图片描述

图片描述

图片描述

阅读 2.5k
2 个回答

谢邀.

location /块里只需要写成:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

就行了。


想了想还是发个完整版的吧。

server {
    listen 80;
    
    server_name zizo.test;
    set $base d:\work\zizo;
    root $base;
    
    # index.php
    index index.php;
    
    # index.php fallback
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    # handle .php
    location ~ \.php$ {
        try_files $uri =404;
            
        # fastcgi
        fastcgi_pass                127.0.0.1:9000;
        fastcgi_index                index.php;
        fastcgi_split_path_info        ^(.+\.php)(/.+)$;
        fastcgi_param                SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors    off;
            
        fastcgi_buffer_size                128k;
        fastcgi_buffers                    256 16k;
        fastcgi_busy_buffers_size        256k;
        fastcgi_temp_file_write_size    256k;
            
        # default fastcgi_params
        include fastcgi_params;
    }
    
    # . files
    location ~ /\. {
        deny all;
    }
}

(话说ThinkPHP也太抠了,项目Readme.md和Wiki里连个Nginx配置也不肯给么……)

你这是Linux系统? 是不是没给文件写、读的权限?

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