我已经接管了一个网站并重写了画廊设施,使用Fancy灯箱插件而不是每张图片的单独页面,共42页,即画廊现在只包含一个网页。
因此,我为所有相关的301s添加了HTAcess文件的行,42次:(:
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteCond %{QUERY_STRING} ^view=14$ [NC]
RewriteRule ^viewGallery\.php$ http://www.mydomain.com/gallery/?view=14 [R=301,NE,NC,L]
有没有办法使用通配符来捕获图库编号,在本例中为14,并将该部分缩短为HTAccess文件中的单个条目?
感谢您的任何建议。
答案 0 :(得分:0)
尝试:
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteCond %{QUERY_STRING} ^view=([0-9]+)$ [NC]
RewriteRule ^viewGallery\.php$ http://www.mydomain.com/gallery/?view=%1 [R=301,NE,NC,L]
除了您更改查询字符串的正则表达式以捕获ID之外,这基本上就是您所拥有的,然后您可以使用规则目标中的%1
对其进行反向引用。
但是,更简单的方法是:
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteCond %{QUERY_STRING} ^view=([0-9]+)$ [NC]
RewriteRule ^viewGallery\.php$ http://www.mydomain.com/gallery/ [R=301,NE,NC,L]
完全删除?view=%1
部分。只要目标中没有?
,重写引擎就会自动将查询字符串附加到结尾。