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

当文件名包含“extra”和“.php”以及“id=XYZ”时,有条件的.htaccess 301重定向,php,.htaccess,mod-rewrite,redirect,drupal,Php,.htaccess,Mod Rewrite,Redirect,Drupal,我是一个非技术性的人,所以请宽容我 我正在尝试将返回404错误的旧文件301重定向到我的主页,例如下面给出的错误: 我使用的是.htaccess,网站CMS是Drupal。我无法重定向所有以.php结尾的文件,因为一些Drupal管理文件可能以该扩展名结尾。有没有一种方法可以有条件地重定向所有包含extra.php?id=和?view=article&id=的文件 到目前为止,我已经创建了以下规则,但前两个规则并不是真正可伸缩的第三个规则重定向所有.pdf扩展是我迄今为止成功创建的唯一批量处理程

我是一个非技术性的人,所以请宽容我

我正在尝试将返回404错误的旧文件301重定向到我的主页,例如下面给出的错误:

我使用的是.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代码吗?感谢您在这方面的帮助,并提前向您表示感谢

谢谢,
阿梅特

太好了,谢谢你,乔恩!快速提问-有没有一种方法可以为id=添加一个全面的内容?例如,如果有第1-1000条需要重定向,是否可以通过添加id=1-1000或类似的代码来实现?我添加了上述代码,但重定向似乎不适用于或不适用于1-1000,只需使用?:[0-9]{1,3}| 1000即可。请参见上面的编辑谢谢,成功了!但是extra.php问题仍然存在。。。这些id是1-5000,那么代码看起来会像:RewriteCond%{QUERY_STRING}^extra\.php$?id=?:[0-9]{1,3}5000&|$RewriteRule^extra\.php$?[R=301,L]@Ameet正则表达式不是这样工作的。[0-9]{1,3}表示1、2或3位数字,因此最大值为999。而| 1000意味着,或1000,使整个东西:1-1000。对于1-5000,您需要:?:[1-4]?[0-9]{1,3}| 5000,因此第一个数字可选1-4,然后是999或5000。
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]
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]