perl - RegEx and Mod_rewrite to convert dynamic to static URLs and static to dynamic URLs -
i have 2 intertwined problems solve.
my stock photography website driven perl-scripted program called imagefolio, purchased in 2005. program allows display of photos categories, or searching keywords, deliver pages of thumbnail images matching contents of entire category, or images keywords or image titles matching search terms. clicking thumbnail image displays dynamically generated page showing larger view of image.
since same images can displayed multiple searches, it's important designate canonical page in head section of dynamically generated pages using regex expression capture relevant variable information dynamic url, create , specify link rel="canonical" tag in head section of each page. corresponding mod_rewrite statements required in .htaccess file translate static canonical links structured dynamic links deliver proper content.
some typical dynamically generated urls , preferred static url substitutes are:
direct link "category" displaying page of thumbnails category
dynamic: www.artminds.com/cgi-bin/imagefolio4/imagefolio.cgi?direct=athletics_and_sports
desired static canonical: www.artminds.com/stock-photos/athletics-and-sports
mod_rewrite: same dynamic above
search images clicking clickable keyword on image page
dynamic: www.artminds.com/cgi-bin/imagefolio4/imagefolio.cgi?img=0&search=six%20pack&cat=all&bool=phrase
desired static canonical: www.artminds.com/photo-search/six-pack.html
mod_rewrite: /cgi-bin/imagefolio4/imagefolio.cgi?search=six+pack
search images typing keyword in search box
dynamic: www.artminds.com/cgi-bin/imagefolio4/imagefolio.cgi?search=six+pack&bool=and&cat=&x=0&y=0
desired static canonical: www.artminds.com/six-pack.html
mod_rewrite: /cgi-bin/imagefolio4/imagefolio.cgi?search=six+pack
display single image page clicking thumbnail
dynamic: www.artminds.com/cgi-bin/imagefolio4/imagefolio.cgi?action=view&link=on_location&image=103_8310.jpg&img=0&search=six%20pack&cat=all&tt=&bool=and
desired static canonical: www.artminds.com/103_8310/muscular-young-man-posing-shirtless-with-cowboy-hat-and-blue-jeans.html
mod_rewrite: /cgi-bin/imagefolio4/imagefolio.cgi?action=view&link=on_location&image=103_8310
note: long file name in desired canonical above comes image caption displayed in html title tag of image display page, retrieved via variables in script program extract embedded meta-data in image file. additional variables in dynamic url reveal source of thumbnail display clicked, i.e., direct link category, or based on search keywords, , whether search limited 1 category , whether search interpreted and/or/phrase not required identify image display page other html pages
in dynamic examples above, while there may multiple variables, 1 relevant , needs captured both converting static url wells in mod_rewrite convert static dynamic url, shown in mod_rewrite examples above.
any appreciated.
thanks,
art minds
pasadena, ca
thanks @ruakh solved problem posting simpler version of question. here solution capture portion of static url in of 3 following forms , pass parameter cgi script conducts search:
http://www.artminds.com/photo-search/outdoors
http://www.artminds.com/photo-search/outdoors/
`http://www.artminds.com/photo-search/outdoors.html
rewriterule ^photo-search\/([^/]+?)(/|\.html|)$ http://www.artminds.com/cgi-bin/imagefolio4/imagefolio.cgi\?search=$1&bool\=all [r]
Comments
Post a Comment