Mod_rewrite条件不起作用

时间:2010-06-03 15:00:56

标签: apache mod-rewrite

我检查了正则表达式并且它们都匹配但是由于某种原因它在mod_rewrite中不起作用?

我想

http://www.system.com/chips/intel?c=xxx

阅读:

http://www.system.com/chips/intel/xxx

我有:

RewriteCond %{REQUEST_URI} (c=.*)$
RewriteRule (/([^/]+)/?).*?c=(.*) http://%{SERVER_NAME}/$1/$2/ [L]

我收到了一个错误。这是怎么回事?

2 个答案:

答案 0 :(得分:1)

您的正则表达式与该网址不匹配。如你所愿:

  • 第1组匹配/chips/
  • 第2组匹配chips
  • 第3组匹配xxx

您可能需要以下内容:

RewriteRule ^/([^/]+)/([^/]+)\?c=([^&]*)  http://%{SERVER_NAME}/$1/$2/$3 [R=301]

答案 1 :(得分:0)

除非你有“QSA”

,否则不要认为reritecond是uri params

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html