|Need 301 redirect assist|
This redirect will be used on our host, WPEngine, using their redirect tool; in other words, I will not be placing this into an htaccess file. So, this needs to be a 301 redirect -- not a mod rewrite. Their tool allows me to input a 'source' and 'destination' ...
So, this is what I need to do:
-- Source: /folder/*3847*.php
--Destination (redirect to): http://www.example.com/folder/folder/
In the above example, I'm trying to capture source files such as:
If the 'number' '3847' exists in the source filename, I need to redirect it.
Help, please! Thanks much.
[edited by: phranque at 6:10 am (utc) on Feb 3, 2014]
[edit reason] exemplified domain [/edit]
you can use regular expressions when specifying the Source.
Common Regex used for Redirect Rules | WordPress Hosting by @WPEngine:
<< you can use regular expressions when specifying the Source.
Yes, I know : )
And what would that expression look like?
Can the "3487" ever be preceded by any other numeral? If not, you're looking at either \D (non-digit, not sure if Apache's RegEx engine supports this but it ought to) or [a-z-].
the numeric will be 2 to 4 digits.
Can you help me with the actual 'code' ? Thanks much.
By weird coincidence, it's less than 12 hours since I last posted the "Why We Make You Do It Yourself" boilerplate. It can't be more than two or three threads away.
Besides, you started out by saying that the code goes into a specific application-- I assume a control-panel type of thing?-- not into an Apache RewriteRule. So you'd need to consult the host for exact syntax.
|I'm trying to capture source files such as: |
I think here you don't mean "capture" in the regular expressions sense. You just mean that you need a pattern, right?
|the numeric will be 2 to 4 digits. |
Now, wait. What numeric? The part you've given as 3487? So it could be any number? Now I'm confused. What's the recurring part of the pattern you need to match?
Sorry, I'm not using the correct terms.
Yes, it is a control panel.
When we first started with this host, I imported our existing 301's (from htaccess) and the syntax looks like this:
Redirect 301 /folder/folder/filename.php http://www.example.com/folder/
I believe this is pretty typical, right?
I'll take another stab at explaining.
I discovered that for many of our articles, Google has indexed multiple filenames. I need to redirect these to the correct files.
What all of these filenames have in common is a 'number'; so rather than mess with all of the text and risk typos, I'll reference the numbers.
For the two filenames above, we need to redirect to:
So, to 'locate' the two source files, we need to look for *487.php
And the same scenario for other files.
I need a 'template' pattern (is that the right term?), where I create these 301's, and simply replace the number.
Make sense? Thanks much.
[edited by: phranque at 5:35 am (utc) on Feb 4, 2014]
[edit reason] Please Use example.com [webmasterworld.com] [/edit]
It all depends whether your control-panel-thingie uses conventional regular expressions or some other formulation.
The form \D means "non-digit". Saves you a few bytes if you can do it this way.
But if the things you've rendered as numbers are really some random bit of text, there may not be any way to avoid a little backtracking.
It is usually a very good idea to use a RewriteRule with the [R=301,L] flags rather than the Redirect directive. This is essential if you already have any other rules utilising RewriteRules.
|this needs to be a 301 redirect -- not a mod rewrite |
This was meaningless at the outset. A 301 redirect is an end. mod_rewrite is the means. One can only hope that the host's internal redirect tool uses mod_rewrite or mod_alias appropriately. One or the other, not both.
Yea, no idea.