I am taking a good example from removing-index-html-from-url-and-adding-www-with-one-single-301-redirect The only real factor I modified is index.php rather than index.html . Now it does not work (infinite redirect to itself):

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index\.php$ [NC]
RewriteRule . http://www.%{HTTP_HOST}%1 [R=301,NE,L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{REQUEST_URI} ^(.*/)index\.php$ [NC]
RewriteRule . %1 [R=301,NE,L]

What is the reason it loops on my small server whether it works best for another people? I attempted several similar good examples but many of them loops with no one is effective. That one looks perfect however it does not work with me.

Again, the aim would be to display this URL: http://www.mysite.com/?p=123&t=456&xxx=abc whenever you type http://mysite.com/index.php?p=123&t=456&xxx=abc (might be from to three parametres, the might be different even when the amount of parametres is identical) (rather than display index.php within the browser, although any request is really index.php and/or its modules).

Thanks greatly.