You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo 49 Web项目添加robots.txt路由的实现方案咨询

解决Expo 49 Web端添加robots.txt的两种方法

方法一:利用静态资源目录(推荐)

Expo的Web静态构建流程会自动将项目根目录下public文件夹中的文件复制到构建产物的根目录,直接创建静态文件即可满足需求:

  1. 在项目根目录新建public文件夹(若尚未存在)
  2. 在public目录内创建robots.txt文件,写入你的爬虫规则,示例:
    User-agent: *
    Disallow: /admin/
    Allow: /
    
  3. 执行npx expo export:web构建Web版本,完成后访问/robots.txt即可看到对应内容。

方法二:通过Catch-All路由动态处理

如果需要根据环境或其他条件动态生成robots.txt内容,可以用Catch-All路由匹配路径:

  1. 在/app目录下创建[...catchAll].tsx文件
  2. 编写路由逻辑判断路径并返回对应内容,示例:
    import { usePathname } from 'expo-router';
    import { Text } from 'react-native';
    
    export default function CatchAllRoute() {
      const pathname = usePathname();
    
      if (pathname === '/robots.txt') {
        // 根据环境动态生成规则
        const robotsContent = process.env.NODE_ENV === 'production' 
          ? `User-agent: *
    

Disallow: /admin/
Allow: / :User-agent: *
Disallow: /`;

return <Text>{robotsContent}</Text>;
 }

 // 其他未匹配路径返回404或重定向到首页
 return <Text>404 Not Found</Text>;

}

3. 注意:若使用静态导出模式,需确保该路径被预渲染;若采用服务器端渲染则无需额外配置。

内容的提问来源于stack exchange,提问作者alyx
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:32:08