【问题标题】:Unable to 301 redirect in htaccess无法在 htaccess 中进行 301 重定向
【发布时间】:2014-04-21 14:16:39
【问题描述】:
RedirectMatch ^insights/(.*)\.html\?view=(.*)&p=([0-9]+)&/(.*)$ insights/$1/$2/$3-$4.html [R=301,L]

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

显示错误

内部服务器错误

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

请联系服务器管理员 webmaster@localhost 并告知他们错误发生的时间,以及您可能所做的任何可能导致错误的事情。

服务器错误日志中可能会提供有关此错误的更多信息。 Apache/2.2.22 (Ubuntu) 服务器位于 exlwebtest.cloudapp.net 端口 80

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    您无法使用 RedirectMatch 指令匹配 QUERY_STRING。除了RedirectMatch 的语法不正确。您正在将该语法与 mod_rewrite 语法混合。

    使用mod_rewrite 规则。把它放在你的根 .htaccess 文件中:

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

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

    【讨论】:

    • 您好 Anubhava,它显示“页面未正确重定向”。提供太多重定向。
    • 没有 Anubhava 它正在工作,但其他一些规则不起作用。实际上我,第一个重定向,第二个我将它映射到它的引用 url。所以它给了我重定向的url,但没有映射到reffer url。前任 。 www.xyz.com?view=aa&param=bb -- 重定向到 www.xyz.com/aa/bb 然后将 www.xyz.com/aa/bb 映射到 www.xyz.com?view=aa&param=bb 我是希望实现这一目标
    • 好吧,你还没有发布你的其他规则,所以我猜不出来。如果您发布有问题的规则,我可能会帮助您。
    • 这些是实际规则:# 重定向 RewriteCond %{QUERY_STRING} ^view=([^&]*)&p=([0-9]+)&/(.*)$ RewriteRule ^insights /(.+?)\.html$ 见解/$1/%1/%2-%3.html? [R=301,L] #mapping RewriteRule ^insights/(.*)/(.*)/([0-9]+)-(.*)\.html$ /insights/$1.html?view=$2 &p=$3&/$4 [L,QSA,NC]
    • No not not in cmets,代码应该通过编辑问题发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2015-08-15
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多