[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 270
  • Last Modified:

How do I use mod_rewrite to change example.com/1/2/3 to example.com/3 ??

Is this possible?

Lets say I have this URL:

http://example.com/1/2/3/

And I want to use mod_rewrite to make it look like:

http://example.com/3/

Or is this not possible?

Thanks!
Josh
0
Geesu
Asked:
Geesu
  • 4
  • 3
1 Solution
 
caterham_wwwCommented:
If you define a rule per each string, yes. Because I can't see any pattern in your example to use a more flexible regular expression.

RewriteEngin on
# rewrit incomming request /3/ --> /1/2/3
Rewriterule ^3/$ /1/2/3/ [L]

are you planning to use that in a .htaccess file or in httpd.conf?
0
 
caterham_wwwCommented:
it should be
RewriteEngine on
(missing 'e')
0
 
GeesuAuthor Commented:
woa thats confusing, don't think I can do this myself...

Well basically what I need the rule to be like will depend on what is clicked on...  (I have a web archiving website)...

So one link will be:

example.com/data/March-2006/20/thesitewillbehere/

which will be re-written as:

example.com/thesitewillbehere/

And the March-2006 and the 20 can change dynamically as well as the folder name for "thesitewillbehere", is this possible to do with a rule?
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
caterham_wwwCommented:
if you access example.com/data/March-2006/20/thesitewillbehere/ you can rewrite it to example.com/thesitewillbehere/ (so example.com/thesitewillbehere/ exists physically) the other way /data/March-2006/20/thesitewillbehere/ exists but you're calling /thesitewillbehere/ will not work. You must use a RewriteMap or a rule for each string in that case.

RewriteEngine on
# /data/March-2006/20/thesitewillbehere/ --> /thesitewillbehere/
RewriteRule ^data/[^/]+/[^/]+/([^/]+)/$ /$1/ [L]
0
 
GeesuAuthor Commented:
Is it possible to have thesitewillbehere be the same???

In theory that directory is supposed to be the same each month this tool runs...  SO I guess I should try to make them different?

For example maybe doing like example.com/data/March-20-2006-thesitewillbehere which I can then re-write as example.com/March-20-2006-thesitewillbehere

These directories are created dynamically each month, so is it possible to auto-add a new rule everytime a directory is created?  Or is there a way to make this not necessary?
0
 
caterham_wwwCommented:
request of                                                      --> internally to
example.com/March-20-2006-thesitewillbehere --> example.com/data/March-20-2006-thesitewillbehere or
example.com/March-20-2006-thesitewillbehere --> example.com/data/March-2006/20/thesitewillbehere/

would be possible.

example.com/March-20-2006-thesitewillbehere --> example.com/data/March-2006/20/thesitewillbehere/
RewriteRule ^([^-]+)-([0-9]+)-([0-9]+)-([^/]+)$ /data/$1-$3/$2/$4/ [L]

example.com/March-20-2006-thesitewillbehere --> example.com/data/March-20-2006-thesitewillbehere
RewriteRule ^([^-]+-[0-9]+-[0-9]+-[^/]+)$ /data/$1 [L]
0
 
GeesuAuthor Commented:
Wow dude thanks, I need to learn regular expressions it seems :)
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now