Htaccess重写导致无限循环

时间:2015-11-04 22:26:24

标签: .htaccess mod-rewrite redirect

我正在尝试在我的wordpress安装中为PDF文件编写重定向,该文件已在我的Google网站管理员工具中显示,其中包含大量查询字符串,我想要的是重定向匹配任何数字或查询蜇在pdf文件名之后,直接重定向到文件。

     RewriteRule ^(.*) http://www.example.com/wp-content/uploads/2014/08/test\.pdf$ [R=301,L]

这也是(以及许多不同的迭代)

    RedirectMatch 301   ^/wp-content/uploads/2014/08/test\.pdf(.*)$ /wp-content/uploads/2014/08/test.pdf?

然而,它们要么导致连续的重定向循环,404错误,要么仍然留下部分查询字符串

url有任意数量的随机查询字符串,因此可以在文件名之后捕获任何内容,只是重定向到裸文件,这正是我正在寻找的内容。这是url的一个例子:

http://www.example.com/wp-content/uploads/2014/08/test.pdf?test=324234234.ffdsfewrgfdgdfg.234234.234324.2333333&fsdf=3432423.1.34234324&wer=werewrewr

http://www.example.com/wp-content/uploads/2014/08/test.pdf?test=324234234.ffdsfewrgfdgdfg.234234.234324.2333333&fsdf=3432423.1.34234324&wer=werewrewr&fsdf=3432423.1.34234324&wer=werewrewr&fsdf=3432423.1.34234324&wer=werewrewr

我想得到的只是

http://www.example.com/wp-content/uploads/2014/08/test.pdf

由于

1 个答案:

答案 0 :(得分:1)

使用mod_rewrite尝试这样的事情。

RewriteEngine On
RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_URI} (.+)\.pdf$
RewriteRule ^(.*) /$1? [R=301,L]