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
我有一些动态 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