I\'d like all queries like
http://mysite.com/something/otherthing?foo=bar&x=y
to be rewritten as
http://mysite.com/some
If you can change the httpd.conf and what to, you can also put:
ForceType application/x-httpd-php
in the file as it will force all the paths called to be PHP files. I think this also works with query strings.
Matches only paths with no extension:
RewriteRule ^(([^/]+/+)*[^\.]+)$ $1.php
Edit: In my testing, the query string gets passed on automatically. If it doesn't, you can use this instead:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(([^/]+/+)*[^\.]+)$ $1.php?%1
This works:
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^/?([^/\.]+)$ /$1.php [L]
The idea is to make sure there's a query string (question mark plus stuff) and if so check if the stuff before the question mark has no extension and if so, append .php.
I would do it this way. Basically, if file doesn't exist, try adding .php to it.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ $1.php [QSA,L]
Something like...
RewriteRule /something/(.+)?(.+) /something/$1.php?$2
would probably work.