盲目链接上的RewriteRule

时间:2016-05-30 07:30:02

标签: apache .htaccess mod-rewrite url-rewriting url-redirection

我需要将模块重定向到另一个模块,我在我的.htaccess文件中尝试了这个:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /modules\.php\?name=Downloads
RewriteRule ^/modules\.php?name=Downloads$  http://www.b2kill.com/modules.php?name=File_Repository [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /modules\.php\?name=Download_Repository
RewriteRule ^/modules\.php?name=Download_Repository$  http://www.b2kill.com/modules.php?name=File_Repository [L,R=301]

显然不起作用,因为我在这里问你:)

1 个答案:

答案 0 :(得分:0)

RewriteRule指令未收到整个URI。将规则更新为:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /modules\.php\?name=Download(?:s|_Repository)
RewriteRule ^/?modules\.php$  http://www.b2kill.com/modules.php?name=File_Repository [L,R=301]

上面的单个规则集将处理您的条件,因为模式:Download(?:s|_Repository)