Mobile app version of vmapp.org
Login or Join
Sue5673885

: 301 Per Redirect .htaccess w/ match to a set of words I am trying to edit .htaccess to do 301 redirect from old domain to new. I was wondering if there's a way to do a 301 redirect that

@Sue5673885

Posted in: #301Redirect #Htaccess

I am trying to edit .htaccess to do 301 redirect from old domain to new. I was wondering if there's a way to do a 301 redirect that matches a certain keywords. So instead of writing 301 for each line, is there a way to redirect if apple or oranges or bananas show up after /blog/ with a couple lines of code and have them all 301 perm redirect to /blog/fruits/?

Example:

/blog/apple/
/blog/oranges/
/blog/bananas/


301 redirect to

/blog/fruits/

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Sue5673885

2 Comments

Sorted by latest first Latest Oldest Best

 

@Ann8826881

You can do this with mod_rewrite, for example:

RewriteEngine On
RewriteRule ^blog/(apple|oranges|bananas)/ /blog/fruit/ [R=301,L]


This literally redirects just the 3 URLs listed in the question. If you wanted to redirect from /blog/apple/<something> to /blog/fruit/<something> then you can modify the above RewriteRule to:

RewriteRule ^blog/(apple|oranges|bananas)/(.*) /blog/fruit/ [R=301,L]



Example: /blog/the-oranges-is-good-fruit/ would match or /blog/my-apples-and-oranges/ would match and triggers the 301 redirect


To match URLs where these words are contained anywhere inside that path segment then the above RewriteRule can be changed to:

RewriteRule ^blog/[^/]*(apple|oranges|bananas)[^/]*/ /blog/fruit/ [R=301,L]


The [^/]* matches any number of characters that are not slashes (path segment delimiter).

10% popularity Vote Up Vote Down


 

@Jamie184

Even if there were a way to do this, you might find that you're actually doing the same thing in 2 different ways.

Is there a difference between writing several individual 301 redirects and writing some script (I'm not even sure whether you'd be able to accomplish this with .htaccess) that uses some list/array of keywords that you needed to input by hand?

If the idea of writing that many redirects is daunting. I would suggest using a spreadsheet and the CONCATENATE formula to make your life very easy:





=CONCATENATE($A,A26," ",B26)

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme