Apache 无法在htaccess中进行301重定向

Apache 无法在htaccess中进行301重定向,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,请帮帮我,为什么它不起作用 它显示错误 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求 请与服务器管理员联系,webmaster@localhost并告知他们错误发生的时间,以及您可能采取的任何可能导致错误的措施 有关此错误的详细信息,请参阅服务器错误日志。 位于exlwebtest.cloudapp.net端口80的Apache/2.2.22(Ubuntu)服务器您无法使用重定向匹配指令匹配查询字符串。此外,您的重定向匹配的语法不正确。您将该语法与mod\u rewrite语法

请帮帮我,为什么它不起作用

它显示错误 内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求

请与服务器管理员联系,webmaster@localhost并告知他们错误发生的时间,以及您可能采取的任何可能导致错误的措施

有关此错误的详细信息,请参阅服务器错误日志。
位于exlwebtest.cloudapp.net端口80的Apache/2.2.22(Ubuntu)服务器

您无法使用
重定向匹配
指令匹配查询字符串。此外,您的
重定向匹配的语法不正确。您将该语法与
mod\u rewrite
语法混合在一起

使用
mod_rewrite
规则。将其放在root.htaccess文件中:

RedirectMatch ^insights/(.*)\.html\?view=(.*)&p=([0-9]+)&/(.*)$ insights/$1/$2/$3-$4.html [R=301,L]

如果您提供尝试重定向的URL示例,效果会更好。

您好,Anubhava,它显示“页面未正确重定向”。提供太多重定向。不,Anubhava它正在工作,但其他一些规则不起作用。实际上,我首先重定向,然后将它映射到它的reffer url。所以它给了我重定向的url,但没有映射到reffer url。前任。www.xyz.com?view=aa¶m=bb--将其重定向到www.xyz.com/aa/bb,然后将www.xyz.com/aa/bb映射到www.xyz.com?view=aa¶m=bb我希望实现这一点。您还没有发布其他规则,所以我猜不到。如果你发布有问题的规则,我可能会帮你。这些是实际的规则:#重定向重写cond%{QUERY\u STRING}^view=([^&]*)&p=([0-9]+)&/(.*)$RewriteRule^insights/(.+?)\.html$insights/$1/%1/%2-%3.html?[R=301,L]#映射重写规则^insights/(.*)/(.*)/([0-9]+)-(.*)\.html$/insights/$1.html?视图=$2&p=$3&/$4[L,QSA,NC]不在注释中,代码应通过编辑问题发布。
RewriteEngine On

RewriteCond %{QUERY_STRING} ^view=([^&]*)&p=([0-9]+)&/(.*)$
RewriteRule ^insights/(.+?)\.html$ insights/$1/%1/%2-%3.html? [R=301,L]