On Thu, Nov 24, 2022 at 8:09 AM vicky chb <vkychb04@xxxxxxxxx> wrote:
>
> Hi,
>
> I am trying to achieve below redirection rule:
> http://localhost/?1234ab
> this url should be redirected to below url:
> http://localhost/welcome?trackFor=0&trackNo=1234ab
> (where welcome?trackFor=0trackNo= always remains same)
>
> Here you can see at the end, the query string is passed same as in source url i.e. 1234ab
>
> I wrote the below Rewrite rule and condition:
>
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteCond %{QUERY_STRING} (.*(([0-9]+).*)) [NC]
> RewriteRule ^(.*)$ /welcome?trackFor=0&trackNo=%1 [L,R=302,QSD]
> </IfModule>
>
> When I hit the source URL in browser: http://localhost/?1234ab
>
> I receive, too many redirects error in browser and page keeps on loading.
>
> Am I missing something in mod_rewrite?
The rule matches the target of the redirect, so it will loop.
If the rule is only valid for requests to "/?:
If the rule is in virtual host context
RewriteRule ^/$ /welcome?trackFor=0&trackNo=%1 [L,R=302,QSD]
If the rule is in htaccess, location, or other sections:
RewriteRule ^$ /welcome?trackFor=0&trackNo=%1 [L,R=302,QSD]
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx