htaccess重定向问题

时间:2012-07-05 22:23:38

标签: .htaccess redirect

我似乎对我的htaccess代码有一些问题,我不确定为什么它不起作用,不可否认我不是专家,所以任何帮助都将不胜感激。

我想要实现的目标是:

www.example.com/job-search.html?jobid=12345

需要重定向到:

www.example.com/jobs/12345

我到目前为止提出的htaccess中的代码是:

RewriteEngine ON
RewriteRule ^/job-search.html\?jobid=(.+) /jobs/$1 [R=301,L]

然而,这对我不起作用,我不知道为什么,任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

有几个问题。

  1. 如果您使用的是apache 2.0或更高版本,则在通过重写引擎之前会删除URI的前缀(前导斜杠)。因此,正则表达式中的^/将永远不会匹配。您需要删除前导斜杠。
  2. 您无法与RewriteRule中的查询字符串(?jobid = 12345 位)匹配,您必须使用RewriteCond并与{匹配{1}}变量并使用反向引用。
  3. 所以你想要的东西是:

    %{QUERY_STRING}