0

我有一个在一组服务器上运行的应用程序,它从我正在运行的另一台服务器获取 URL。

正在获取的此 URL 包含一个带有拼写错误 URL 参数的硬编码 URL。我想通过为 301 重定向到目标服务器上的正确 URL 创建一个 .htaccess 规则来解决这个问题,而不是更改应用程序并将其上传到我的所有其他服务器。

我假设我可以通过使用正则表达式创建一个 RedirectRule 来做到这一点,但我很烂。

这是我想要实现的目标:

http://www.example.com/some-page/?param1=exparam1&param2=misspeltparam&param3=exparam3

上面的 URL 应该重定向到:

http://www.example.com/some-page/?param1=exparam1&param2=correctparam&param3=exparam3

在上面的例子中param2=misspeltparam,and param2=correctparam(即参数名和值)都是常量。其他一切都是动态的。

此外,拼写错误只会出现param2在 的情况下,以防从上述陈述中不明显。

4

1 回答 1

1

类似以下代码的东西应该可以完成这项工作:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(.*&param2=)misspeltparam(.*)$
RewriteRule .* %{REQUEST_URI}?%1correctparam%2 [R=301,L]
于 2012-11-29T20:36:57.133 回答