首页 > 解决方案 > 我们如何在 .htaccess 文件中实现以下场景的 301 重定向

问题描述

旧网址:www.vanguardinvestments.com.au/businessline/product.html#/fundDetail/wholesale/portId=8162

新网址:www.vanguard.com.au/businessline/products/en/detail/8162/Overview

我们有 60 个相同模式的旧 url,但每个 url 中只有 portId 会发生变化。有人可以建议我们如何实现通用重定向,它将所有 60 个旧 url 重定向到新 url(从旧 url 中获取 portId 值)用于这种类型的场景。

标签: .htaccessredirecthttp-status-code-301http-redirect

解决方案


您可以在您的htaccess

RewriteEngine on

RewriteRule ^businessline/products/en/detail/([0-9]+)/Overview www.vanguardinvestments.com.au/businessline/product.html#/fundDetail/wholesale/portId=$1 [NE,L,NC,R=301]

如果portid参数包含字母数字字符,则将正则表达式模式更改为([0-9a-zA-Z_]+).

这会将您的新 URL 重定向到旧 URL。如果您正在寻找一种使用片段将旧 URL 重定向到新 URL 的方法,#那么您将需要使用像 JavaScript 这样的客户端重定向,因为#使用 RewriteRule 或任何其他服务器端重定向无法实现重定向。


推荐阅读