2013-08-21 75 views
0

我試圖在沒有索引頁的所有.html文件中添加緩存,但是當我做了一些更改時,我的文件進入了404找不到頁面。Nginx在緩存的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; 
    }} 
+0

什麼是訪問日誌/ error_log中說 –

+0

@MohammadAbuShady在日誌中我看不到任何問題,只是我告訴你,我所有的HTML文件返回404錯誤頁面,但索引頁工作.. –

回答

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; 
}