.htaccess htaccess重定向问题
我似乎有一些问题与我的htaccess代码,我不知道为什么它不工作,承认我不是专家,所以任何帮助将不胜感激 我试图实现的是: www.example.com/job search.html?jobid=12345 需要重定向到: www.example.com/jobs/12345 到目前为止,我在htaccess中找到的代码是:.htaccess htaccess重定向问题,.htaccess,redirect,.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] 然而,这
RewriteEngine ON
RewriteRule ^/job-search.html\?jobid=(.+) /jobs/$1 [R=301,L]
然而,这对我不起作用,我也不知道为什么,有人能帮我吗?有几个问题
^/
永远不会匹配。您需要删除前导斜杠RewriteRule
中,无法与查询字符串(jobid=12345位)匹配,必须使用RewriteCond
并与%{query\u string}
变量匹配,并使用%反向引用RewriteEngine On
RewriteCond %{QUERY_STRING} jobid=([^\&]+)
RewriteRule ^job-search\.html$ /jobs/%1 [R=301,L]
当你尝试访问,例如www.example.com/job search.html时会发生什么?jobid=12345没有,没有重定向它只是给我一个错误404,因为页面不存在只是好奇为什么你想从“丑陋”版本重定向到“漂亮”版本。你确定$WEBROOT/jobs/12345文件存在吗?是的,确实存在,我之所以从丑陋的版本改为漂亮的版本,基本上是因为这是一个错误。我们有一个第三方提供商,假设我们的URL像“job search.html?jobid=12345”,所以当他们发布脚本时,他们没有与我们核实。因此,已经有一些电子邮件发送了错误的链接,所以我希望“纠正”错误的链接,并将它们重定向到正确的URL。非常感谢你的帮助。干杯