我有两个相互交织的问题要解决。
我的股票摄影网站由2005年购买的名为ImageFolio的PERL脚本程序驱动。该程序允许按类别显示照片,或搜索关键字,然后提供与整个内容相匹配的缩略图图像页面类别,或带有与搜索字词匹配的关键字或图像标题的图像。单击缩略图图像将显示动态生成的页面,其中显示较大的图像视图。
由于可以从多次搜索中显示相同的图像,因此通过使用 RegEx 表达式在动态生成的页面的HEAD部分中指定规范页面非常重要。从动态URL捕获相关变量信息,以在每页的HEAD部分中创建并指定 link rel =“canonical”标记。 .htaccess文件中需要相应的 MOD_REWRITE 语句,以将这些静态规范链接转换回正确结构化的动态链接,以提供适当的内容。
一些典型的动态生成的URL和首选的静态URL替代品是:
直接链接到“类别”,显示该类别的缩略图页面
DYNAMIC: www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi?direct=Athletics_and_Sports
渴望的静态典范: www.artminds.com/stock-photos/Athletics-and-Sports
MOD_REWRITE:与上面的动态相同
点击图片页面上的可点击关键字搜索图片
DYNAMIC: www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi?img=0&search=six%20pack&cat=all&bool=phrase
渴望的静态典范: www.artminds.com/photo-search/six-pack.html
MOD_REWRITE: /cgi-bin/ImageFolio4/imageFolio.cgi?search=six+pack
通过在搜索框中输入关键字来搜索图像
DYNAMIC: www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi?search=six+pack&bool=and&cat=&x=0&y=0
渴望的静态典范: www.artminds.com/six-pack.html
MOD_REWRITE: /cgi-bin/ImageFolio4/imageFolio.cgi?search=six+pack
点击缩略图显示单张图片页
DYNAMIC: www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi?action=view&link=On_Location&image=103_8310.jpg&img=0&search=six%20pack&cat =所有&安培; TT =安培; BOOL =和
渴望的静态典范: 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
注意:上面的DESIRED CANONICAL中的长文件名来自图像标题,该标题显示在图像显示页面的HTML标题中,通过脚本中的变量检索提取图像文件中嵌入的元数据的程序。动态URL中的其他变量显示所点击的缩略图显示的来源,即直接链接到类别,或基于搜索关键字,以及搜索是否仅限于一个类别以及搜索是否被解释为和/或/词组但不要求从所有其他html页面中明确标识该图像显示页面
在上面的动态示例中,虽然可能存在多个变量,但通常只有一个变量是相关的,需要捕获以转换为静态URL以及Mod_rewrite以将静态转换为动态URL,如图所示在上面的MOD_REWRITE示例中。
非常感谢任何帮助。
谢谢,
艺术思想
帕萨迪纳,加利福尼亚州
答案 0 :(得分:0)
感谢@ruakh我通过发布一个更简单的问题版本解决了这个问题。以下是在以下三种形式中捕获静态URL的一部分的解决方案,并将其作为参数传递给进行搜索的CGI脚本:
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]
答案 1 :(得分:0)
你最后使用了哪些直接链接?
"直接链接到"类别"显示该类别的缩略图页面 DYNAMIC:www.artminds.com/cgi-bin/ImageFolio4/imageFolio.cgi?direct=Athletics_and_Sports 渴望静态典范:www.artminds.com/stock-photos/Athletics-and-Sports MOD_REWRITE:与上面的动态相同"