Okay, I got this figured out now.
First your Rewrite Cond are wrong. You DO NOT want to use [OR} as effectively you are stating if the request is Not a File with Size, or Not a Symbolic Link, or Not a Directory, then run this rule. Nothing can be ALL three of those things.
So now you have
Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [NC,L]
If you run that again, you will still get two entries. Why? Well, for this you need to look at the access.log file. You will notice there is a GET for index.php and a GET for favicon.ico. If your setup is like mine, you don't have a favicon.ico, so your Rewrite Rule kicks in and redirects it to index.php which causes a second log entry.
So I created a blank favicon.ico (just right-click create text file, and rename it to favicon.ico removing the .txt extension)
Now, run it again, and you MAY still get two entries. Why? Because your favicon.ico has a size of 0. The !-s means a file WITH SIZE. So you can either create a REAL favicon.ico or you can change your rewrite rule to be !-f like so:
Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [NC,L]
Enjoy!
Bookmarks