We have a product that provides friendly urls for a popular bulletin board system (IPB). The product has been out over a year, and the rewrite rules have even been ported to IIS, Lighttpd and nginx server platforms successfully.

I have a user recently who installed the software and the rewrite rules are not working as expected.

This rule should take any characters (a title, traditionally) followed by a dash, underscore or comma, then "t" plus the topic id, followed by ".html", and then an optional string and turn it into "index.php?showtopic=##(optional string)".

Has anyone heard of this or have any ideas why this is failing, and at that only for this one user?

I've even tried changing the argument separators in php to semicolons (or software supports the semicolon separators), but get the same result.

I no longer get the 404 but the functionality is incorrect (i.e. "view=getlastpost" is ignored, and specifically in our case the user is redirected to the main topic page). If I change it to a hash #, the argument is simply ignored with no redirect.

Utilizing a ? immediately after the .html would seem to work in this particular case, however that would mean rewriting our entire product for one user (and the software has been out well over a year and we've never encountered this problem before, thus that's not very economical for us).

The simple rule does not work on this one site (of course works on any other I test).

RewriteRule ^abc\.html&def$ /ghi.html [L]

I'm thinking there's an Apache setting or something on this one site that is causing the problem, but no idea what..

Further more, I've determined it's not a 404 error being generated. If I go to "abc.html" (which has no rewrite rule presently) I get a true 404. If I go to abc.html&def I get a blank white page. The status is a 404