Solved

need help with rewritting rules

Posted on 2011-09-21
3
252 Views
Last Modified: 2012-05-12
hello i have a question about rewriting rule
i have 4  thumbnails galery  that onmouseover display data and picture with ajax it's  associated with limits: 5 thumbnails are displayed starting display from limits given trough url, and an arrow able the visitor to see five more.

what i would like is to have a link to each thumb going to the same page than the script info display but displaying picture and infos through a google/ and robots friendly environnment that means no ajax but i would display the  <img src="myimage.jpg"> with myimage.jpg coming fom the location url




currenly i use the following rewriting rule:

RewriteRule ^print/([a-z]{2})/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/?$ /print.php?lang=$1&limite1=$2&limite2=$3&limite3=$4&limite4=$5
RewriteRule ^print/([^/]*) /print.php?lang=$1&limite1=0&limite2=0&limite3=0&limite4=0
but limits works only for one section  (board) at the moment

so i think it will evolve to something longer

and would give a location something like http://localhost/print/en/1/0/0/0/0/myimage.jpg

what do u thing?
would my rewriting rule  be like  this?

RewriteRule ^print/([a-z]{2})/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([a-z])/?$ /print.php?lang=$1&limite1=$2&limite2=$3&limite3=$4&limite4=$5&limite5=$6&image=$7

RewriteRule ^print/([^/]*) /print.php?lang=$1&limite1=0&limite2=0&limite3=0&limite4=0

thanks for your precious help



Sans-titre-1.jpg
0
Comment
Question by:jerrrrry
  • 2
3 Comments
 
LVL 35

Expert Comment

by:Terry Woods
Comment Utility
Each number after a $ in the replacement refers back to a capturing group in the pattern ie it's a backreference. You can't have more backreferences than you have capturing groups.

Your rule:
RewriteRule ^print/([a-z]{2})/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([a-z])/?$ /print.php?lang=$1&limite1=$2&limite2=$3&limite3=$4&limite4=$5&limite5=$6&image=$7
has 6 capturing groups, but has a backreference to $7 so I believe it would fail with an error.

Could you please give some clarity as to which source URLs you want redirected to which target URLs. eg

"I want to redirect:
print/fr/
to
print.php?lang=fr&limite1=0&limite2=0&limite3=0&limite4=0

and
print/fr/5/
to
print.php?lang=fr&limite1=5&limite2=0&limite3=0&limite4=0
"
0
 

Author Comment

by:jerrrrry
Comment Utility
i would like
to redirect

print/fr/1/0/0/0/0/folder/image.jpg

to print.php?lang=fr&galerie=1&limite1=0&limite2=0&limite3=0&limite4=0&show=folder/image.jpg


would it be wise?
maybe i don't need to use a folder/ and use directly the image but in a first time i would like to know how you can use it and redirect it

i would like to display the image using $show,
thanks
0
 
LVL 35

Accepted Solution

by:
Terry Woods earned 500 total points
Comment Utility
For that example, I believe the rule should look like this:

RewriteRule ^print/([a-z]{2})/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /print.php?lang=$1&galerie=$2&limite1=$3&limite2=$4&limite3=$5&limite4=$5&limite5=$6&show=$7

I changed the capturing group ([a-z]) to (.*) as previously it was looking for a single lowercase letter between two / characters, whereas actually you want it to be the folder and image name.

As for whether it's wise or not, you're probably best to ask that as a separate question and get some other expert's opinions. My specialty is the regular expressions side of things.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now