.htaccess正则表达式 - “关键字”样式重定向 - 语法?

问题:已停止使用的产品的入站过时链接。
挑战:包含其他关键字,子类别等的许多变体 </ p>

示例:</ p>


  • / somecategory /冷却插件-OLDNAME </ LI>
  • / special_sale_on_OLDNAME_items < / li>
  • / category / subcat / subsubcat / morestuff / weird_keywords_OLDNAME </ li>
    </ ul>

    需要的解决方案:无论是否捕获关键字“OLDNAME”* 被它包围的内容,并重定向到特定页面。</ p>

    例如 “RewriteRule ??????? OLDNAME ?????? </ strong> http:// www.example.com/newpage [L,NC,R = 301] </ p>

    粗体部分是我需要帮助的部分。</ p>

    < p>提前致谢!</ p>
    </ div>

展开原文

原文

Problem: inbound outdated links to products that have been discontinued. Challenge: many variations with additional keywords, subcategories, etc.

Examples:

  • /somecategory/cool-widget-OLDNAME
  • /special_sale_on_OLDNAME_items
  • /category/subcat/subsubcat/morestuff/weird_keywords_OLDNAME

Needed solution: something that will catch the keyword "OLDNAME" *regardless of what it's surrounded by, and redirect to a specific page.

E.g. "RewriteRule ??????? OLDNAME ?????? http://www.example.com/newpage [L,NC,R=301]

The bold part is what I need help with.

Thanks in advance!

duankuaiwang2706
duankuaiwang2706 是的,删除/工作。谢谢!如果您可以以答案的形式发布,我会将其标记为已解决。
接近 4 年之前 回复
dongshan1959
dongshan1959 是的,正常重写格式为RewriteRule^widgets/red-widgets/http://www.example.com/red-widgetsR=301,L]和正则表达式重写(捕获旧关键字以及.php或.html)格式为RewriteRule(^|[/-])KEYWORD-?(\d*)\。(?:html?|php)$http://www.example.com/red-widget-KEYWORD2[L,NC,R=301]工作正常。我会在没有前导“/”的情况下尝试。
接近 4 年之前 回复
douhong6187
douhong6187 可以删除第一个/,不能在这里测试,正常的重写工作?
接近 4 年之前 回复
dounai7148
dounai7148 没工作。RewriteRule^/。*(OLDNAME1|OLDNAME2)。*$http://www.example.com/discontinuedL,NC,R=301]我的错误是什么?
接近 4 年之前 回复
dongshao1156
dongshao1156 ^/*。(OLDNAME|ANOTHEROLDNAME)*$
接近 4 年之前 回复
doumei1772
doumei1772 JOUM-这就是我没有得到的......你能告诉我几个例子吗?
接近 4 年之前 回复
douliwang6896
douliwang6896 更好的是,如果有一种方法可以将多个关键字组合成一个规则,那就太棒了。所有停产产品的请求都将转到SAME页面(即“www.example.com/discontinued”)。
接近 4 年之前 回复
dongzuozhu66776
dongzuozhu66776 使用简单的正则表达式
接近 4 年之前 回复

1个回答



尝试</ p>

  RewriteRule ^。*(OLDNAME | ANOTHEROLDNAME)。* $ http  ://www.example.com/discontinued [L,NC,R = 301] 
</ code> </ pre>

它会查找给定网址中任意位置的任何给定字词。< / p>
</ div>

展开原文

原文

Try

RewriteRule  ^.*(OLDNAME|ANOTHEROLDNAME).*$ http://www.example.com/discontinued [L,NC,R=301]

it lookups any given word at any position in the given url.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐