如何将旧的长URL重定向到新的SEO友好URL


How can I redirect an old long URL to a new SEO friendly URL?

我正在尝试重定向一个旧的URL:

www.mydomain.com/prodotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ..

这个,更短和SEO友好:

www.mydomain.com/moto/aprilia/caponord_1200

我正在htaccess上写一个301重定向,这是我使用的行:

 Redirect 301  /prodotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ.. http://www.mywebsite.com/moto/aprilia/caponord_1200

但当我在浏览器上插入旧的URL时,重定向结果是:

  www.mywebsite.com/moto/aprilia/caponord_1200?/prodotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ..

我的301重定向有什么问题?如何在不合并URL的情况下获得纯重定向?

感谢

这是带有modrewrite测试的htaccess

RewriteEngine on
RewriteCond $1 !^(index'.php|images|css|media|js|robots'.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteRule ^/moto/aprilia/capondor_1200$ /prodrotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ.. [R=301, L]

你的htaccess应该看起来像这个

RewriteEngine on
RewriteRule ^prodrotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ'.'.$ /moto/aprilia/capondor_1200? [R=301,L]
RewriteCond $1 !^(index'.php|images|css|media|js|robots'.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

尝试类似的重写规则

RewriteEngine On
RewriteRule ^/moto/aprilia/capondor_1200$ /prodrotti/G/YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ [R=301]

您可能需要将重写规则中的YToyOntzOjg6IklEX01BUkNBIjtzOjI6IjI3IjtzOjEwOiJJRF9NT0RFTExPIjtzOjM6IjU2OCI7fQ替换为整个字符串,因为我认为..意味着它比您提供的更长?