Perl - .htaccess 如何通过弹出部分字符串来重定向传入查询

Perl - .htaccess How do I redirect incoming query by popping off part of string

我需要将此功能添加到我的 .htaccess 文件中。

我有来自其他域的查询。

http://Domain.com/some-folder/blue-widget/large/bluewidget-number-yada-60467.htm

我需要它去:

http://Domain.com/60467

我找到了一种在查询末尾匹配 5 位或 6 位数字 .htm 的方法,但是,如何将其实现为 "redirect"?

<FilesMatch "\d{5,6}\.htm?$">

类似于:

RewriteRule \d{5,6}\.htm?$ http://Domain.com/60467

我需要先重写条件吗?

RewriteCond %{QUERY_STRING} (\d{5,6}\.htm?$)

这是困难的部分。 如果查询是从 .htaccess 所在的域 (Domain.com) 生成的,是否也有可能让它忽略该规则?没必要,但我也想做。

我真的想不通..

此 URL:

中没有任何查询字符串
http://Domain.com/some-folder/blue-widget/large/bluewidget-number-yada-60467.htm

URL 中没有 ?。要重定向这样的东西,你不需要条件,这样的东西应该足够好了:

RedirectMatch -([0-9]+)\.htm$ /

或者如果您需要使用 mod_rewrite:

RewriteRUle -([0-9]+)\.htm$ / [L,R]