httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Riccardo Cohen <r.co...@realty-property.com>
Subject Re: [users@httpd] moving from mod_php to mod_fcgid : rewrite problem
Date Tue, 12 Feb 2013 15:59:32 GMT
Thanks Ben, here are the answers :

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

in .htaccess

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

no change with or without

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

I'll have a look now

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

I'll try that. Is it possible to set it in .htacces or must I change 
global apache configuration (I only have access to my .htaccess in this 
hosting).

Thanks

On 12/02/13 14:53, Ben Johnson wrote:
>
>
> 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
> first.
>
> 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?
>
> -Ben
>
>
>
>> 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 :
>>>
>>> http://www.perspectives-musicales.org/en/all-albums
>>> to
>>> http://www.perspectives-musicales.org/index.php/en/all-albums
>>>
>>> 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 :
>>>> http://www.perspectives-musicales.org and placed it on a good hosting
>>>> service (web4all.fr).
>>>> 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 :
>>>> http://www.perspectives-musicales.org/en/all-albums
>>>> This should be transparantly mapped to
>>>> http://www.perspectives-musicales.org/index.php/en/all-albums 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 web4all.fr 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 :
>>>>
>>>> http://perspectives-musicales.org/test1/a/b/c
>>>> http://perspectives-musicales.org/test2/a/b/c
>>>> http://perspectives-musicales.org/test3/a/b/c
>>>> http://perspectives-musicales.org/test4/a/b/c
>>>>
>>>> and I set the following rules :
>>>>
>>>> RewriteRule ^test1/(.*) ./test.php/$1
>>>> RewriteRule ^test2/(.*) ./test.php?$1
>>>> RewriteRule ^test3/(.*) ./test.php?/$1
>>>> RewriteRule ^test4/(.*)
>>>> http://www.perspectives-musicales.org/test.php/$1
>>>>
>>>> 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
>>>> http://www.perspectives-musicales.org/test.php/a/b/c, 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: users-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>

-- 
Riccardo Cohen
+33 (0)6 09 83 64 49
Société Realty-Property.com
1 rue de la Monnaie
37000 Tours
France

<http://www.appartement-maison.fr>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message