在我的react应用程序上,我需要将移动用户重定向到移动站点。当有人访问我的url时,例如:example.com
,如果他们在移动设备上,我需要将url重定向到mobile.example.com
。我还没有找到任何关于react应用程序的文件结构的好文章,它有一个移动视图和一个桌面视图。我还需要在本地主机上测试它。我使用react-router-dom
进行路由,也找不到任何关于将baseurl更改为移动设备的内容。
我建议你看看这个https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent。现在,大多数网站都是单页应用程序,并且可以在两种设备类型上运行(这更优雅),但你可以通过测量屏幕宽度,用户代理等来判断它。
要回答你的评论,你可以这样做
if (navigator.userAgent.contains('....your mobile user agent type')
{
location.replace('http://m.mymobilesite.com')
}
如果你正在使用Apache,你可以查看这篇文章:
检查移动设备在Apache和重定向到移动网站
如果你正在使用Node,你可以使用Apache作为代理并重定向到你的Node服务器
回答你的评论,你可以使用这个库:
https://www.npmjs.com/package/react-device-detect
import { isMobile } from 'react-device-detect';
import { Redirect } from 'react-router-dom';
//...
export default class App extends Component {
//...
render() {
return isMobile ? <Redirect to='mobile-site'/> : <Redirect to='desktop-site'/>
}
}