Anne Brown wrote:
Daniel Hulme-4 wrote:
On Mon, Apr 20, 2009 at 08:20:42AM -0700, Anne Brown wrote:
As you suggested, I checked the vhosts file and sure enough, the problem
was
with the RewriteRule.  I changed this:
RewriteRule ^([A-Za-z0-9-]+)?$ index.pl/$1 to this:
    RewriteRule ^([A-Za-z0-9-/]+)?$ index.pl/$1
and problem solved.
Problem solved, that is, until you try to access an URL with a _ in it,
or with %-encoded characters, or a ~, all of which are common. I'm not
sure what you're trying to exclude from that RewriteRule, but .* seems
like the obvious regex to use.

Daniel,

I tried that before but I must be doing something wrong.  This rule:
RewriteRule ^(.*)?$ index.pl/$1 results in a bunch of errors like this:
    [TS] [error] [client 127.0.0.1] Request exceeded the limit of 10
internal redirects due to... [TS] [debug] core.c(3046): [client 127.0.0.1] r->uri =
/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/
    [TS] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri =
/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/
    [TS] [debug] core.c(3052): [client 127.0.0.1] redirected from r->uri =
/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/index.pl/
    [TS] ....

Anne
Just tell mod_rewrite to stop rewriting the URL, in order to escape the infinite recursion (see 'recursion, infinite')

You probably need:

        RewriteRule ^(.*)?$ index.pl/$1 [L]

The [L] is a flag that tells mod_rewrite that this is the last rule and it 
should stop applying any more rules.

See also: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule



_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to