In my previous post, I asked about how to 301 redirect all .com/language/X
URLs to .com/members/?members_search=X
using htaccess.
Thankfully I got help, and the solution was RewriteRule ^language/(.*) /members/?members_search=$1 [R=301,L]
I just discovered that I also need to convert any existing hyphens to spaces. I'm going to assume that there would be no more than 2 hyphens.
Test case
http://example.com/language/american-english
should 301 redirect to http://example.com/members/?members_search=american%20english
It's fine if an extra redirect is added, for example,
http://example.com/language/american-english
301 redirect to http://example.com/members/?members_search=american-english
which 301 redirects to http://example.com/members/?members_search=american%20english
Right under RewriteRule ^language/(.*) /members/?members_search=$1 [R=301,L]
, I've added this code, which is incorrect:
RewriteCond %{QUERY_STRING} members_search
RewriteRule ^(.*)-(.*)$ /$1\s$2 [L,R=301]
Please let me know if any ideas.