繁体   English   中英

Mod_rewrite-如何将旧网址重定向到新网址301

[英]Mod_rewrite - how to 301 redirect an old URL to a new one

我需要获取网站的一些旧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。 我还必须获取querystring参数“ codCurso”(136)中的整数。 我必须为此使用的正则表达式是什么。 我正在使用ISAPI_Rewrite 3,它基本上在IIS上实现htaccess,因此语法上应该没有区别。 谢谢。

尝试以下规则:

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

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

在我的头顶上,这样的事情应该起作用:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM