【问题标题】:htaccess 301 redirect with URL rewritehtaccess 301 重定向与 URL 重写
【发布时间】:2023-03-25 06:53:01
【问题描述】:

我需要一些关于如何使用 htaccess 进行正确的 301 URL 重定向的专家建议。我已经有了重写规则,还需要添加重定向。这是重写规则:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^results/(case1|case2|case3)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ /results.php?v1=$1&v2=$2&v3=$3&v4=$4&v5=$5&v6=$6&v7=$7 [L]

我应该在上面的规则中添加什么来成功重定向:

http://www.website.com/results.php?v1=case2&v2=a&v3=b&v4=c&v5=d&v6=e&v7=f
to:
http://www.website.com/results/case2/a/b/c/d/e/f/

【问题讨论】:

    标签: .htaccess redirect mod-rewrite url-redirection http-status-code-301


    【解决方案1】:

    你需要一个额外的规则来重定向你的 url,添加下面的 RewriteEngine on 行:

     RewriteCond %{THE_REQUEST} /results\.php\?v1=(case1|case2|case3)&v2=([^&]+)&v3=([^&]+)&v4=([^&]+)&v5=([^&]+)&v6=([^&]+)&v7=([^&\s]+)\sHTTP [NC]
    RewriteRule ^ /results/%1/%2/%3/%4/%5/%6/%7? [NC,L,R=301]
    

    【讨论】:

    • 感谢您的回复,我尚未对此进行测试 - 如何解决重定向规则中的 (case1|case2|case3) 问题?我还有其他包含例如case4case5 的网址。这些将重定向到不同的网址。
    • 我刚刚测试了您的解决方案,网址已重定向,但最后我得到了这个 - %20HTTP/1.1/。知道如何解决这个问题吗?
    • 啊,我清除了缓存,它工作了!非常感谢您与我一起找到正确的解决方案!
    猜你喜欢
    • 2013-12-21
    • 2015-03-04
    • 2016-09-28
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2016-12-20
    • 2015-08-08
    相关资源
    最近更新 更多