0

我已经用 htaccess 重写了我的 url,现在我想将旧的 url 重定向到新的 url,但我不知道该怎么做。

这是我使用的重定向规则:

RewriteRule ^page/([^/]*)/$ /page.php?name=$1 [L]

旧网址如下所示:page.php?name=page-name

新的 url 看起来像这样:/page/page-name/

4

1 回答 1

0

当您想要使用 GET 参数重定向 url 时,这有点复杂。

这是一个技巧:

RewriteRule ^page\.php$ %{QUERY_STRING} [C]
RewriteRule name=(.*) /page/$1/? [R=301,L]

说明:

  • 首先,您重定向page.php?name=page-name?name=page-name
  • 然后,您要求对此结果使用以下规则(带[C]标签)
  • 第三,您重定向page-name,选择(.*)topage/page-name/
  • 最后一招,如果你不放最后一个?,你的查询字符串将被附加到你的结果中,你将拥有这种 url : page/page-name/?name=page-name。使用无用?的擦除旧的 GET 参数。

在这里找到了一些信息:

于 2012-06-13T13:04:27.043 回答