我尝试使用RedirectMatch重定向带有SEO插件遗留问号的网址。我们的vbulletin 4.2.5论坛使用Dragonbyte SEO来重写URL,但是一些外部站点仍然链接到旧URL。我们还有一个奇怪的问题,一些URL会附加一个等号,这也会破坏一些东西。我一直在尝试为这些问题创建重定向规则,但我尝试的所有内容似乎都会导致错误或根本无法正常工作。我真的很感激我能得到的任何帮助。
示例网址: http://subdomain.example.com/content/?123-My-Article-Title
所需的重定向: http://subdomain.example.com/content/123-My-Article-Title.html
Live Server:LiteSpeed 测试服务器:Apache 2.4.27
示例.htaccess尝试:
RewriteRule ^(\/content\/)\?([0-9]*[-a-z,A-Z]*)$ http://subdomain.example.com/$1$2.html [R=302, L]
RedirectMatch 302 /content/?([0-9]*[a-zA-Z-]*) http://subdomain.example.com/$1.html
答案 0 :(得分:0)
您无法使用 <Switch>
<Route exact path='/' component={CompOne} />
<Route path='/:name/:id?'
render={(routeProps) => {
console.log(routeProps);
return <Details {...routeProps} />;
}}
/>
</Switch>
指令重定向查询字符串。您需要使用RedirectMatch
与%{QUERY_STRING}
变量匹配。
mod-rewrite