Home > Back-end >  apache rewrite: how do I check for empty or not present query parameter?
apache rewrite: how do I check for empty or not present query parameter?

Time:11-03

might be best explained with an example:

- If I enter either URLs in my brower :
  - www.myhost.com/my-page.html?year=
  - www.myhost.com/my-page.html

- I then want to get redirected to  www.my-2nd-host.com/current-year/my-page.html

Any ideas how it's done? Thank you.

CodePudding user response:

You can do it like this using mod_rewrite:

RewriteEngine On
RewriteCond %{QUERY_STRING) !(^|&)year=[^&] 
RewriteRule ^/?my-page\.html$ https://www.my-2nd-host.com/current-year/my-page.html [R=302,L]

The regex (^|&)year=[^&] checks for the presence of the year URL parameter with a non-empty value. The ! prefix then negates the expression so it is successful when that URL param is either empty or not present at all.

  • Related