htaccess 删除?来自 url 并重定向

htaccess remove ? from the url and redirect

我有一些动态 url。如果我使用带有查询参数的 url ,它会导致 404 页面。所以我想使用 htaccess 进行重定向。我尝试了很多可能的解决方案,其中 none 个有效。

Url 结构将是 /jobs/job-***.html?something,我需要将其重定向到 /jobs/job-***.html

我试过类似的方法,但返回 500 错误;

RewriteRule ^jobs/job-([0-9]+).html?$ jobs/job- [NC, L]

请帮忙解决这个问题。

您可以使用这条规则:

RewriteCond %{QUERY_STRING} .
RewriteRule ^jobs/job-(\d+\.html?)$ %{REQUEST_URI}? [NC,L,R=301]

? 在目标 之后将删除任何查询字符串。

您可以使用以下正则表达式:

^\/jobs\/job-(\d+)\.html\?\S*$

(这实质上是捕获工作编号)

然后替换为:

/jobs-.html

Demo