httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Johnson <>
Subject Re: [users@httpd] moving from mod_php to mod_fcgid : rewrite problem
Date Tue, 12 Feb 2013 13:53:01 GMT

On 2/12/2013 2:16 AM, Riccardo Cohen wrote:
> Hello
> I received some clues from this list members, thanks for that. But
> unfortunately my problem is not solved.
> It's not that I want others to focus on me, but I'm quite sure that
> there is a real problem (if not why would it work perfectly on mod_php
> ?), I could not find any solution googling about it (even with the help
> of the host technical team), and I would like a confirmation that 1)
> it's not an error from my understanding, and 2) there is no workaround
> for it.

I doubt it is a problem with the software. mod_rewrite has been put
through the paces over the years and I'd be shocked if a bug were
uncovered given your rule's relative simplicity.

Before digesting your post in its entirety, I have a couple of questions

1.) Where have you defined the rewrite rule? In a .htaccess file?

2.) Have you defined a RewriteBase? If so, what is it?

3.) Have you reviewed Apache's access log at all?

4.) Have you increased RewriteLogLevel to, say, 4, to see exactly what
the mod_rewrite engine is doing?


> So I'll be very pleased to here from some qualified developer before I
> spend 2 days to modify and retest all my application.
> Thanks in advance.
> On 07/02/13 11:17, Riccardo Cohen wrote:
>> Sorry to insist but I'm really blocked and I really need help.
>> Here is a small summary for those who don't want to read all :
>> I want to make a rewrite from :
>> to
>> my rewrite rule is
>> RewriteRule ^en/(.*) ./index.php/en/$1
>> This works when apache is runnnig with mod_php, but not when running
>> mod_fcgid (php as cgi). In cgi mode I have a 404 error.
>> The Apache version is 2.2.23 and mod_fcgid is version 2.3.7 with
>> configuration flag cgi.fix_pathinfo=1
>> Thanks for your help.
>> On 05/02/13 21:32, Riccardo Cohen wrote:
>>> Hello
>>> I'm new to apache mailing list, sorry if I'm not 100% clear, and sorry
>>> for this long description.
>>> I have developped a website with php/mysql :
>>> and placed it on a good hosting
>>> service (
>>> To improve search engine rank I decided to set all urls to
>>> /index.php/... and rewrite them to avoid having index.php in url (sort
>>> of MVC technique combined with SEO...)
>>> Example : the catalog is at url :
>>> This should be transparantly mapped to
>>> thanks to
>>> the rewrite rule :
>>> RewriteRule ^en/(.*) ./index.php/en/$1
>>> My application uses then $_SERVER["PATH_INFO"] (and not
>>> $_SERVER["QUERY_STRING"]) to retreive url information. This worked
>>> perfectly until last month, because changed the whole system
>>> and separated apache from php, using fast cgi instead of mod_php.
>>> The system is supposed to be more reliable and more efficient like this,
>>> and apparently is. But the rewrite rule does not work anymore. So I
>>> investigated and made some test :
>>> I have a small test.php that displays the path_info and query_string.
>>> You can presently test it here :
>>> and I set the following rules :
>>> RewriteRule ^test1/(.*) ./test.php/$1
>>> RewriteRule ^test2/(.*) ./test.php?$1
>>> RewriteRule ^test3/(.*) ./test.php?/$1
>>> RewriteRule ^test4/(.*)
>>> None of these 4 rewrite rules are convenient. Here is why :
>>> - test1 : the system anwsers 404 "No input file specified". I think (not
>>> sure) that Apache beleives that test.php is a folder, and cannot find it
>>> so answers 404
>>> - test2 : the rewrite rule works, but of course the url information is
>>> no more in path_info, it is in query_string as shown in the page content
>>> - test3 : same as test2
>>> - test4 : almost good, I can have the url info in path_info, but apache
>>> begins first with a 302 redirection and then changes the url to
>>>, which looses all
>>> search engine efficiency (and also eventual POST variables if any).
>>> My host tried several searches on forums including this one, and could
>>> not find any answer. It seems to be an apache bug, but not sure, I have
>>> no bug number to give anyway. If it is a bug, it is demontrated by test1
>>> I think.
>>> So here is my question : Is there any way to make this rewrite rule work
>>> in fastcgi mode, and what is the syntax for it, to keep info in
>>> path_info without 302 redirection. The Apache version is 2.2.23  and
>>> mod_fcgid is version 2.3.7 with configuration flag cgi.fix_pathinfo=1
>>> If there is a way, thanks for your help I'd be glad to test it. If no
>>> could you explain why and how to solve it. As workaround we used test4
>>> syntax in the whole site, to make it work, but it is bad for search
>>> engine, and creates problem in backoffice (because certain backoffice
>>> functions use POST variables)
>>> I know I can change my code to use query_string everywhere instead of
>>> path_info, but if I can avoid changing and testing all my websites it
>>> would be really great
>>> Thanks a lot for your anwser.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message