yonilobo
yonilobo

Reputation: 163

.htaccess condition that works on many conditions inside

I want to try something like if in .htaccess:

I want to Redictes each ?sp=SOMEWHAT to diffrent ?p=NNN (some number) I have a 100 ?sp= pages. And I don't want to work on 100 Rules each page load. If this another method to solve it, I happy to know.

if(RewriteCond %{HTTP_HOST ^?sp=}{
    RewriteRule ^?sp=bar ?p=5
    RewriteRule ^?sp=foo ?p=9
    RewriteRule ^?sp=tin ?p=15
}

This is no logic between the ?sp= and ?p=

Update: I doesn't have access to server config.

Upvotes: 0

Views: 81

Answers (1)

Jan Krüger
Jan Krüger

Reputation: 18530

This can be done with the RewriteMap directive (iff you have access to the server configuration, as pointed out in a comment. No idea why they thought that needed to be restricted...). For example:

RewriteMap sp_to_s txt:/path/to/map.txt
RewriteRule ^?sp=(.*) ?p=${sp_to_s:$1|0}

(the 0 is the default value if none of the pairs in the map match).

Here's a sample map.txt:

bar 5
foo 9
tin 15

There are more ways to use the map feature; see the documentation for mod_rewrite for details.

Upvotes: 2

Related Questions