我要抓住我的一些网站的旧网址,并做了301重定向到新的,因为他们已经编入索引,我们不想改变后失去相关性。旧的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的,所以应该在语法方面没有差别。感谢。

有帮助吗?

解决方案

尝试这样的规则:

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

但我不知道ISAPI重写是否需要模式,开始以斜线。

其他提示

关闭我的头顶,这样的事情应该工作:

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

这将至少所述流量发送到/ CURSO /附接的所有参数。也许这是最好的从那里处理它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top