You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by XC <li...@gmail.com> on 2007/07/04 04:07:06 UTC

[users@httpd] Apache2 rewrite URLs with Query string

Hi, there:

I am setting a rewrite rule which I hope can transfer request-URLs like:

    http://mysite.com/?hello

into

    http://mysite.com/lib/doc/hello.html

Now I am using the following RewriteCond and RewriteRule:

    RewriteEngine on
    RewriteCond %{QUERY_STRING}    !^$
    RewriteRule ^/$    /lib/doc/%{QUERY_STRING}.html?  [R,L]

It worked but the result is an external redirection, the URL displayed
in my browser becomes the redirected url(i.e.
http://mysite.com/lib/doc/hello.html).. I am hoping to do an internal
redirection which I hope the url in my browser keeps the original one,
like:http://mysite.com/?hello

I changed the third line into the following:

    RewriteRule ^/$   /lib/doc/%{QUERY_STRING}.html?  [L]

But it is not working? Can someone give me some suggestions on how to fix
this problem? I am using: Apache/2.0.55, Ubuntu 6.06.

Thank you very much.

Lihao

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache2 rewrite URLs with Query string

Posted by XC <li...@gmail.com>.
On 7/3/07, Vincent Bray <no...@gmail.com> wrote:
> On 04/07/07, XC <li...@gmail.com> wrote:
> > I changed the third line into the following:
> >
> >     RewriteRule ^/$   /lib/doc/%{QUERY_STRING}.html?  [L]
> >
> > But it is not working? Can someone give me some suggestions on how to fix
> > this problem? I am using: Apache/2.0.55, Ubuntu 6.06.
>
> Just a wild guess, try
>
> RewriteEngine on
> RewriteCond %{QUERY_STRING}    !^$
> RewriteRule ^/$   /lib/doc/%{QUERY_STRING}.html?  [L,PT]
>
> If the redirect worked but the same rule without [R] doesn't, it's
> presumably not the rule at fault but "something else". Hence [PT].
>

Hi, Vincent:

so great, it's exactly what I am looking for, and you just solved my
problem.. :-) Thank you so much, and have a really nice day. :-)

Best wishes,
Lihao

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Apache2 rewrite URLs with Query string

Posted by Vincent Bray <no...@gmail.com>.
On 04/07/07, XC <li...@gmail.com> wrote:
> I changed the third line into the following:
>
>     RewriteRule ^/$   /lib/doc/%{QUERY_STRING}.html?  [L]
>
> But it is not working? Can someone give me some suggestions on how to fix
> this problem? I am using: Apache/2.0.55, Ubuntu 6.06.

Just a wild guess, try

RewriteEngine on
RewriteCond %{QUERY_STRING}    !^$
RewriteRule ^/$   /lib/doc/%{QUERY_STRING}.html?  [L,PT]

If the redirect worked but the same rule without [R] doesn't, it's
presumably not the rule at fault but "something else". Hence [PT].

-- 
noodl

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org