apache mod rewrite 301 get variables shows

时间:2014-10-27 03:56:20

标签: .htaccess mod-rewrite redirect

我有以下页面:

RewriteRule ^es/aprende-([^/]+)-online$ learn-language.php?learnLang=$1&lang=es [L]

我的新页面:

RewriteRule ^es/aprende-ingles-online$ learn-english-online.php?lang=es [L]

现在我想在此页面上进行301重定向:

RedirectMatch 301 /es/aprende-inglés-online http://www.example.com/es/aprende-ingles-online

但是当我转到页面时,变量会被继承并附加到url?

learnLang=inglés&lang=es

我不希望添加这个获取变量,我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要在早期的内部重写规则之前保留重定向规则,并且仅使用mod_rewrite规则:

RewriteEngine On
RewriteBase /

RewriteRule ^es/aprende-inglés-online/? /es/aprende-ingles-online [L,R=301]

RewriteRule ^es/aprende-ingles-online$ learn-english-online.php?lang=es [L,QSA]

RewriteRule ^es/aprende-([^/]+)-online$ learn-language.php?learnLang=$1&lang=es [L,QSA]