0

我尝试在没有索引页面的所有 .html 文件上添加缓存,但是当我进行一些更改时,我的文件总是转到 404 未找到页面。

这是我在我的默认配置中所拥有的,没有我所做的任何更改并且没有工作。

server {
listen 80;
    server_name site.net;
    root /storage/www/site.net;

    access_log /var/log/nginx/site.net.access.log;
    error_log  /var/log/nginx/site.net.log info;

    index index.php;
error_page  404 = /404.php;

    if ($host = 'www.site.net' ) {
    rewrite  ^/(.*)$  http://site.net/$1  permanent;
    }
location ~ /\. {
    deny all;
    access_log off;
    log_not_found off;
}

    location = /favicon.ico {
            log_not_found off;
            access_log off;
    }

    location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
    }

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
       expires 365d;
     }

    # This matters if you use drush
    location = /backup {
            deny all;
    }

    # Very rarely should these ever be accessed outside of your lan
    location ~* \.(txt|log)$ {
            allow 127.0.0.1;
            deny all;
    }

    location ~ \..*/.*\.php$ {
            return 403;
    }

    location / {
            # This is cool because no php is touched for static content
            try_files $uri $uri/ @rewrite;
            expires max;
    }
location ~ ^/sites/.*/private/ {
        access_log  off;
        internal;
    }

    location @rewrite {
            # Some modules enforce no slash (/) at the end of the URL
            # Else this rewrite block wouldn't be needed (GlobalRedirect)
            rewrite ^/(.*).html$ /index.php?s=$1;
    }

    location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }}
4

1 回答 1

0

尝试这个:

location @rewrite {
        # Some modules enforce no slash (/) at the end of the URL
        # Else this rewrite block wouldn't be needed (GlobalRedirect)
        rewrite ^/(.*).html$ /index.php?s=$1 last;
}
于 2013-08-22T22:13:16.147 回答