使用Nginx运行Laravel,访问被拒绝


Running Laravel with Nginx, get access denied

我在Nginx运行的服务器上克隆了我的代码。安装composer后,i可以打开Laravel的主页。但是当我进入其他页面时,它返回访问拒绝。地址类似于www.xx.com/index.php/xx

nginx日志和laravel日志只显示403。

这里是nginx配置:

user www www;
worker_processes auto;
error_log /data/wwwlogs/error_nginx.log crit;
pid /var/run/nginx.pid;
worker_rlimit_nofile 51200;
events {
    use epoll;
    worker_connections 51200;
    multi_accept on;
    }
http {
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 1024m;
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 120;
    server_tokens off;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    #Gzip Compression
    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 6;
    gzip_http_version 1.1;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_vary on;
    gzip_types
        text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
        text/javascript application/javascript application/x-javascript
        text/x-json application/json application/x-web-app-manifest+json
        text/css text/plain text/x-component
        font/opentype application/x-font-ttf application/vnd.ms-fontobject
        image/x-icon;
    gzip_disable "MSIE [1-6]'.(?!.*SV1)";
    #If you have a lot of static files to serve through Nginx then caching of the files' metadata (not the actual files' contents) can save some latency.
    open_file_cache max=1000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
######################## default ############################
    server {
    listen 80;
    server_name xx.com www.xx.com;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/default/public/;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location /nginx_status {
        stub_status on;
        access_log on;
        allow 127.0.0.1;
        deny all;
        }
    location ~ [^/]'.php(/|$) {
        #fastcgi_pass remote_php_ip:9000;
        fastcgi_pass unix:/dev/shm/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        }
    location ~ .*'.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
        expires 30d;
        access_log off;
        }
    location ~ .*'.(js|css)?$ {
        expires 7d;
        access_log off;
        }
    }
########################## vhost #############################
    include vhost/*.conf;
}

你可以这样做:

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

我希望能解决你的问题