Nginx $ http_x_requested_with为空

时间:2016-09-07 14:25:00

标签: php nginx

为什么当我发出ajax请求时,nginx不会从$http_x_requested_with返回任何内容?我是否需要使用nginx编译的某些模块才能使其正常工作?

如果请求是php-fpm中的ajax,我怎么能检测到呢?

fastcgi_params:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
fastcgi_param  HTTP_X_REQUESTED_WITH   $http_x_requested_with;

vhost conf:

server {
    listen 80;
    server_name suzuki.sidormedia.pl;
    return 301 http://www.suzuki.sidormedia.pl$request_uri;
}

server {
    gzip on;
gzip_disable "msie6";

gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
    text/plain
    text/css
    text/js
    text/xml
    text/javascript
    application/javascript
    application/x-javascript
    application/json
    application/xml
    application/rss+xml
    image/svg+xml;
    listen 80;
    index index.php index.html index.htm;
    server_name www.suzuki.sidormedia.pl;
    access_log /var/www/suzuki/App/logs/suzuki-access.log combined;
    error_log /var/www/suzuki/App/logs/suzuki-error.log error;
    set $root_path '/var/www/suzuki/public/';
    root $root_path;

    add_header 'Access-Control-Allow-Credentials' 'true';

    add_header 'Access-Control-Allow-Origin' "http://www.suzuki.sidormedia.pl"; 

    try_files $uri $uri/ @rewrite;

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }


    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_buffer_size 512k;
            fastcgi_buffers 512 32k;
            fastcgi_busy_buffers_size 512k;
            fastcgi_temp_file_write_size 512k;
    }

    location ~* \.(?:manifest|appcache|html?|xml|json)$ {
  expires -1;
  # access_log logs/static.log; # I don't usually include a static log
}

# Feed
location ~* \.(?:rss|atom)$ {
  expires 1h;
  add_header Cache-Control "public";
}

# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
  expires 1M;
  access_log off;
  add_header Cache-Control "public";
}

# CSS and Javascript
location ~* \.(?:css|js)$ {
  expires 1y;
  access_log off;
  add_header Cache-Control "public";
}
}

1 个答案:

答案 0 :(得分:1)

我不知道如何从另一篇文章中回答答案,(mods?)

Does $_SERVER['HTTP_X_REQUESTED_WITH'] exist in PHP or not?