【问题标题】:apache mod rewrite 301 get variables showingapache mod rewrite 301 获取变量显示
【发布时间】:2014-12-22 05:49:30
【问题描述】:

我有以下页面:

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

我不想添加这个 get 变量,我该怎么办?

【问题讨论】:

    标签: .htaccess mod-rewrite redirect


    【解决方案1】:

    您需要在之前的内部重写规则之前保留重定向规则并仅使用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]
    

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 1970-01-01
      • 2014-03-16
      • 2011-05-06
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多