htaccess删除?从URL并重定向

时间:2019-04-05 06:17:04

标签: regex .htaccess mod-rewrite url-redirection

我有一些动态网址。如果我使用带有查询参数的网址,则会转到404页面。所以我想使用htaccess进行重定向。我尝试了许多可能的解决方案,但没有一个起作用。

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

我尝试过类似的操作,但返回500错误;

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

请帮助解决此问题。

2 个答案:

答案 0 :(得分:2)

您可以使用以下规则:

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

$1将删除所有查询字符串。

答案 1 :(得分:0)

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

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

(这实际上是捕获作业号)

,然后将其替换为:

/jobs-$1.html

Demo