mod_rewrite question

mod_rewrite question

am 30.05.2007 23:35:39 von yawnmoth

Say I have the following .htaccess file:

RewriteEngine on
RewriteRule (a|b|c)/(|index\.html) index2.html?type=$1
RewriteRule (a|b|c)/(.*) $2?type=$1

What I would expect this rule to rewrite http://www.domain.tld/a/ to
http://www.domain.tld/index2.html and http://www.domain.tld/a/image.ext
to http://www.domain.tld/image.ext.

Unfortunately, that's not happening. What is happening is that
everything in /a/ is being rewritten to index2.html - not just / and
index.html, itself.

My question is... what am I doing wrong and what I can I do to fix
it?

Thanks!

Re: mod_rewrite question

am 31.05.2007 17:04:13 von Jim Hayter

yawnmoth wrote:
> Say I have the following .htaccess file:
>
> RewriteEngine on
> RewriteRule (a|b|c)/(|index\.html) index2.html?type=$1
> RewriteRule (a|b|c)/(.*) $2?type=$1
>
> What I would expect this rule to rewrite http://www.domain.tld/a/ to
> http://www.domain.tld/index2.html and http://www.domain.tld/a/image.ext
> to http://www.domain.tld/image.ext.
>
> Unfortunately, that's not happening. What is happening is that
> everything in /a/ is being rewritten to index2.html - not just / and
> index.html, itself.
>
> My question is... what am I doing wrong and what I can I do to fix
> it?

Without an anchor, the first rule matches anything that has "a/"
anywhere in the URL. Try this:

RewriteRule (a|b|c)/(|index\.html)$ index2.html?type=$1

The $ specifies the end of the URL, so a/image.ext will not match the rule.

HTH,
Jim

Re: mod_rewrite question

am 11.06.2007 17:02:41 von yawnmoth

On May 31, 10:04 am, Jim Hayter wrote:
> yawnmothwrote:
>
>
> Without an anchor, the first rule matches anything that has "a/"
> anywhere in the URL. Try this:
>
> RewriteRule (a|b|c)/(|index\.html)$ index2.html?type=$1
>
> The $ specifies the end of the URL, so a/image.ext will not match the rule.
>
> HTH,
> Jim

Thanks!