当文件名包含“extra”和“.php”以及“id = XYZ”时,条件.htaccess 301重定向

时间:2014-08-08 04:34:07

标签: php .htaccess mod-rewrite redirect drupal

我是一个非技术人员,请耐心等待我。

我正在尝试301将返回404错误的旧文件(例如下面给出的错误)重定向到我的主页http://www.innovateonline.info/

extra.php?id=1149
?view=article&id=126
?view=article&id=668&action=synopsis
?view=person&id=1

我正在使用.htaccess,网站CMS是Drupal。我无法重定向所有以.php结尾的文件,因为一些Drupal管理文件可能会以该扩展名结尾。有没有办法有条件地重定向包含“extra.php?id = ”和“?view = article& id = ”的所有文件?

到目前为止我已创建了以下规则,但前两个规则并不是真正可扩展的(第三个重定向所有.pdf扩展名是我迄今为止创建的唯一批量处理程序):

RewriteEngine on
RewriteCond %{QUERY_STRING} ^view=article&id=126&action=article$
RewriteRule ^index\.php$ http:// www. innovateonline. info? [R=301,L]

RewriteCond %{QUERY_STRING} ^view=article&id=258&action=article$
RewriteRule ^index\.php$ http:// www. innovateonline. info? [R=301,L]

RewriteEngine On
RewriteCond %{REQUEST_URI} .pdf$
RewriteRule ^(.*).pdf$ http://www.innovateonline.info? [R=301,L]

有人可以帮我为上述条件创建一个.htaccess代码吗?感谢您的帮助,并提前感谢您!

谢谢, Ameet

1 个答案:

答案 0 :(得分:0)

RewriteCond %{QUERY_STRING} ^view=article&id=(?:[0-9]{1,3}|1000)(&|$) [OR]
RewriteCond %{QUERY_STRING} ^view=article&id=(668)&action=synopsis [OR]
RewriteCond %{QUERY_STRING} ^view=person&id=1
RewriteRule ^(?:index\.php|)$ http://www.innovateonline.info? [R=301,L]

RewriteCond %{QUERY_STRING} ^id=1149(&|$) 
RewriteRule ^extra\.php$ http://www.innovateonline.info? [R=301,L]