I keep getting a 500 Internal Server Error when using the following Rewrite rule in my .htaccess:
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Essentially, I want clean urls on my web application, i.e. http://www.example.com/login would function the same as http://www.example.com/index.php/login.
This rewrite rule works fine locally on MAMP and on a different Apache test server, but fails on the client’s 1and1.com-based hosting.
You need to prevent the infinite loop. A negative assertion on
index.phpis one way to stop this.