title: Nginx 'rewrite or internal redirection cycle while internally redirecting' resulting in 500
body: <p>I'm having a bit of a problem with nginx 1.2.1-2.2 on Raspbian wheezy. I think it started after I changed the index thing in my sites-available/default file. Here are the relevant files:</p>
  
  <pre><code>nginx.conf
  user www-data;
  worker_processes 4;
  pid /var/run/nginx.pid;
  
  events {
      worker_connections 768;
      # multi_accept on;
  }
  
  http {
  
      ##
      # Basic Settings
      ##
  
      sendfile on;
      tcp_nopush on;
      tcp_nodelay on;
      keepalive_timeout 65;
      types_hash_max_size 2048;
      index index.html index.htm index.php;
      # server_tokens off;
  
      # server_names_hash_bucket_size 64;
      # server_name_in_redirect off;
  
      include /etc/nginx/mime.types;
      default_type application/octet-stream;
  
      ##
      # Logging Settings
      ##
  
      access_log /var/log/nginx/access.log;
      error_log /var/log/nginx/error.log;
  
      ##
      # Gzip Settings
      ##
  
      gzip on;
      gzip_disable "msie6";
  
      # gzip_vary on;
      # gzip_proxied any;
      # gzip_comp_level 6;
      # gzip_buffers 16 8k;
      # gzip_http_version 1.1;
      # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  
      ##
      # nginx-naxsi config
      ##
      # Uncomment it if you installed nginx-naxsi
      ##
  
      #include /etc/nginx/naxsi_core.rules;
  
      ##
      # nginx-passenger config
      ##
      # Uncomment it if you installed nginx-passenger
      ##
  
      #passenger_root /usr;
      #passenger_ruby /usr/bin/ruby;
  
      ##
      # Virtual Host Configs
      ##
  
      include /etc/nginx/conf.d/*.conf;
      include /etc/nginx/sites-enabled/*;
  }
  </code></pre>
  
  <hr>
  
  <pre><code>sites-available/default
  
  server {
      #listen   80; ## listen for ipv4; this line is default and implied
      #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6
  
      root /home/tom/www;
      index index.html index.htm index.php;
  
      # Make site accessible from http://localhost/
      server_name localhost;
  
      try_files $uri $uri/ /index.html =404;
  
      location / {
          # First attempt to serve request as file, then
          # as directory, then fall back to displaying a 404.
          try_files $uri $uri/index.html;
          # Uncomment to enable naxsi on this location
          # include /etc/nginx/naxsi.rules
      }
  
      location /yourls {
      # YOURLS time
      if (!-e $request_filename){
           rewrite ^(.*)$ /yourls-loader.php break;
      }
      }
  
      # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
      #location /RequestDenied {
      #   proxy_pass http://127.0.0.1:8080;    
      #}
  
      error_page 404 /404.html;
  
      # redirect server error pages to the static page /50x.html
  
      error_page 500 502 503 504 /50x.html;
      location = /50x.html {
          root /usr/share/nginx/www;
      }
  
      # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
  
          # With php5-cgi alone:
          #fastcgi_pass 127.0.0.1:9000;
          # With php5-fpm:
          fastcgi_pass unix:/var/run/php5-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
      }
  }
  </code></pre>
  
  <p>I am getting an error when trying to access any WordPress page, including just typing local.dyn.kwl.me/wordpress/ into address bar or adding index.php or wp-admin to that URL. In the browser it displays as a 500, but the nginx logs say this:</p>
  
  <pre><code>2013/08/19 17:55:49 [error] 31600#0: *58 rewrite or internal redirection cycle while internally redirecting to "/wordpress/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html", client: 109.149.13.53, server: localhost, request: "GET /wordpress HTTP/1.1", host: "local.dyn.kwl.me"
  2013/08/19 17:55:49 [error] 31600#0: *59 rewrite or internal redirection cycle while internally redirecting to "/favicon.ico/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html/index.html", client: 109.149.13.53, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "local.dyn.kwl.me"
  </code></pre>
  
  <p>I'd imagine something is wrong with index or try_files in my sites-default file. Can anyone see what?</p>