1

i seem to be having some issues with my htaccess code and i am not sure why its not working, admittedly I am no expert, so any help would be appreciated.

what i am trying to achieve is this:

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

needs to be redirected to:

www.example.com/jobs/12345

the code in htaccess that I have come up with so far is:

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

This however is not working for me, and I am not sure why, could anyone help?

4

1 に答える 1

0

いくつかの問題。

  1. Apache 2.0 以降を使用している場合、URI のプレフィックス (先頭のスラッシュ) は、書き換えエンジンを通過する前に削除されます。したがって、^/正規表現の は一致しません。先頭のスラッシュを削除する必要があります。
  2. aのクエリ文字列 ( ?jobid=12345ビット) と照合することはできません。aRewriteRuleを使用して変数とRewriteCond照合し、 %後方参照を使用する必要があります。%{QUERY_STRING}

したがって、次のようなものが必要です。

RewriteEngine On
RewriteCond %{QUERY_STRING} jobid=([^\&]+)
RewriteRule ^job-search\.html$ /jobs/%1 [R=301,L]
于 2012-07-06T06:22:59.607 に答える