0

我需要获取我网站的一些旧 URL 并执行 301 重定向到新 URL,因为它们已经被编入索引,并且我们不想在更改后失去相关性。旧的 URL 实际上非常丑陋,出于某种原因,我试图重写它的一切都不起作用。这里是:

http://www.mywebsite.com/ExibeCurso.asp?Comando=TreinamentoGeral&codCurso=136&Titulo=Como%20Estruturar%20um%20Sistema%20Gerencial%20de%20Controles%20Organizacionais,13

基本上,我需要将其翻译成如下内容:

http://www.mywebsite.com/curso/136

从旧 URL 我需要检查用户是否输入了“ExibeCurso.asp”;那么我知道我必须把他送到这里:/curso。我还必须获取查询字符串参数“codCurso”(136)中的整数。我必须为此使用什么正则表达式。我用的是ISAPI_Rewrite 3,它基本上在IIS上实现了htaccess,所以在语法上应该没有区别。谢谢。

4

2 回答 2

1

试试这个规则:

RewriteCond %{QUERY_STRING} ^([^&]*&)*codCurso=([0-9]+)(&.*)?$
RewriteRule ^/ExibeCurso\.asp$ /curso/%2? [L,R=301]

但我不确定 ISAPI Rewrite 是否要求模式以斜杠开头。

于 2009-07-11T07:13:22.673 回答
0

在我的脑海中,这样的事情应该可以工作:

RewriteRule ^ExibeCurso.asp(.*)$ http://www.mywebsite.com/curso/$1 [L,R=301]

这至少会将流量发送到 /curso/ 并附加所有参数。也许最好从那里处理它。

于 2009-07-11T03:01:56.190 回答