Home > database >  How do I redirect multiple urls to same url
How do I redirect multiple urls to same url

Time:01-19

how do I redirect multiple url to another one url I have tried but its not working

RewriteCond  %{HTTP_HOST} ^sub.domain.to/q1$ [NC,OR]
RewriteCond  %{HTTP_HOST} ^sub.domain.to/q2$ [NC,OR]
RewriteCond  %{HTTP_HOST} ^sub.domain.to/q3$ [NC,OR]
RewriteCond  %{HTTP_HOST} ^sub.domain.to/q4$ [NC,OR]
RewriteCond  %{HTTP_HOST} ^sub.domain.to/q5$ [NC]
RewriteRule ^(.*)$ https://sub.domain.to/full-q [R=301,L]

CodePudding user response:

ok it worked when I added %{REQUEST_URI}

so this worked

RewriteCond  %{HTTP_HOST}%{REQUEST_URI} ^sub\.domain\.to/q1$ [NC,OR]
RewriteCond  %{HTTP_HOST}%{REQUEST_URI} ^sub\.domain\.to/q2$ [NC,OR]
RewriteCond  %{HTTP_HOST}%{REQUEST_URI} ^sub\.domain\.to/q3$ [NC,OR]
RewriteCond  %{HTTP_HOST}%{REQUEST_URI} ^sub\.domain\.to/q4$ [NC,OR]
RewriteCond  %{HTTP_HOST}%{REQUEST_URI} ^sub\.domain\.to/q5$ [NC]
RewriteRule ^(.*)$ https://sub.domain.to/full-q [R=301,L]

CodePudding user response:

The HTTP_HOST server variable contains the value of the Host HTTP request header, ie. the hostname only. This does not contain the URL-path (ie. /q1 and /q2 in your example).

The RewriteRule pattern matches against the URL-path.

Try the following instead:

RewriteCond %{HTTP_HOST} ^sub\.domain\.to [NC]
RewriteRule ^(q1|q2|q3|q4|q5)$ https://%{HTTP_HOST}/full-q [NC,R=301,L]

Or, use the REQUEST_URI server variable in a condition, which contains the full URL-path. For example:

RewriteCond %{HTTP_HOST} ^sub\.domain\.to [NC]
RewriteCond %{REQUEST_URI} ^/q1$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/q2$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/q3$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/q4$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/q5$ [NC]
RewriteRule ^ https://%{HTTP_HOST}/full-q [R=301,L]

Test with a 302 (temporary) redirect to avoid potential caching issues and only change to a 301 (permanent) redirect - if that is the intention - once you have confirmed this works as intended.

You will need to clear your browser cache before testing.

  •  Tags:  
  • Related