mod_rewrite - 旧参数名称到新名称

时间:2009-02-20 13:44:21

标签: mod-rewrite parameters

大家好我需要在mod_rewrite中进行重定向。

我需要重定向以下

http://mysite.com/dictionary/find?word=test

http://mysite.com/dictionary/find?w=test

我确信解决方案很简单,但我对mod_rewrite和正则表达式的了解非常有限,而且我无法解决问题。这是我迄今为止所尝试的无济于事。

RewriteCond %{QUERY_STRING} word= [NC]
RewriteRule ^/(.*)word=(\w+)/$ /w=$1 [L]

非常感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:2)

这对你来说已经足够......

RewriteRule(?|&)word =(\ w +)$ 1w = $ 2

即使与其他参数结合使用也会替换它。你只是尝试处理查询字符串很有意思,我从来没有用过它,如果可能的话就无法回答。

作为旁注,请打开:

RewriteLog“/var/log/apache2/rewrite.log”
  RewriteLogLevel 2

获得更有用的反馈。

答案 1 :(得分:0)

试试这个:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)word=(.*)
RewriteRule ^dictionary/find$ $0?%1w=%3 [R=301,L]