【问题标题】:301 redirection not working in my case301 重定向在我的情况下不起作用
【发布时间】:2013-10-10 12:08:26
【问题描述】:

我有一个旧网址:

http://www.abc.com/search.php?id=12&name=amit

一段时间后,我在 url 中进行了更改(用于正确的 url 重写),它变成了

http://www.abc.com/search.php?name=amit&id=12

new url(changed url)的url重写成功到

http://www.abc.com/amit-12

但问题是,我如何从旧网址重定向 301(通过 htaccess)

http://www.abc.com/search.php?id=12&name=amit

新网址

http://www.abc.com/amit-12

我尝试了很多,但都没有成功。我该怎么办? 帮助..任何人!

谢谢!

【问题讨论】:

  • 等一下!如果您输入的 URI 是 /search.php?name=amit&id=12(或 id=12&name=amit,它们是相同的),.htaccess URL 重写不会将其转换为 /amit-12(您的 PHP 可以不要使用它)。您可以做的是获取 /amit-12 的传入 URI 并将其重写为 /search.php?name=amit&id=12。那是你在做什么?如果是这样,请使用正确的术语。

标签: php regex apache .htaccess mod-rewrite


【解决方案1】:

你可以使用这条规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search\.php\?id=([^&]*)&name=([^\s&]+) [NC]
RewriteRule ^ /%2-%1? [R=301,L]

确保在所有其他规则之前插入此规则

【讨论】:

    猜你喜欢
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    相关资源
    最近更新 更多