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

时间:2015-01-31 20:04:36

标签: .htaccess

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

我有来自其他域的查询。

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

我需要这样做:

http://Domain.com/60467

我找到了一种在查询结尾处匹配5或6位.htm的方法,但是,我如何将其实现为"重定向"?

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

之类的:

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

我是否需要首先重写条件?

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

这是困难的部分。 如果查询是从.htaccess位于(Domain.com)的域生成的,它是否也可以忽略该规则?没必要但是,我也希望能够做到这一点。

我真的无法弄明白......

1 个答案:

答案 0 :(得分:0)

此网址中没有任何查询字符串:

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

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

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

或者如果你需要使用mod_rewrite:

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