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

Create React App构建后部署至服务器子目录出现空白页求助

部署在子目录的React应用构建后显示空白页问题

已尝试Stack Overflow相关方案但无效。项目部署在服务器子目录,访问地址为https://test.myweb.com/MyApp,开发者控制台显示文件已加载,但仅渲染空的root div,无后续内容。登录功能基于Auth0实现。

项目核心代码

App.js

function App() {
  return (
    <div className='App'>
      <Routes>
        <Route index path='/' element={<Login />} />
        <Route
          path='/home'
          element={<ProtectedRoute children={Home} />}
        />
      </Routes>
    </div>
  )
}

index.js

root.render(
  <div className="flex justify-center bg-black overscroll-contain">
    <div className="w-full max-w-[70rem]">
      <Auth0Provider
        domain={domain}
        clientId={clientId}
        authorizationParams={{
          redirect_uri: window.location.origin,
        }}>
        <BrowserRouter>
          <App />
        </BrowserRouter>
      </Auth0Provider>
    </div>
  </div>
);

已尝试的无效配置

package.json的homepage设置

尝试以下两种配置均未解决问题:

  • "homepage": "."
  • "homepage": "https://test.myweb.com/MyApp"

.htaccess配置

RewriteEngine on
    #for app in subdirectory
    RewriteBase /test/testingProjects/MyApp
    Header set Cache-Control "no-cache"
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^.*/test/testingProjects/MyApp.* /test/testingProjects/MyApp/index.html [L]
    #for root app
    RewriteBase /
    Header set Cache-Control "no-cache"
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule . /index.html [L]
    
    # DISABLE CACHING
<IfModule mod_headers.c>
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
</IfModule>

<FilesMatch "\.(html|js)$">
    <IfModule mod_expires.c>
        ExpiresActive Off
    </IfModule>
    <IfModule mod_headers.c>
        FileETag None
        Header unset ETag
        Header unset Pragma
        Header unset Cache-Control
        Header unset Last-Modified
        Header set Pragma "no-cache"
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Expires "Thu, 1 Jan 1970 00:00:00 GMT"
    </IfModule>
</FilesMatch>

需要确认的正确配置

  • BrowserRouter的正确使用方式
  • package.json中homepage属性的正确值
  • .htaccess文件的正确配置规则
  • Auth0在子目录部署场景下的特殊配置要求

内容的提问来源于stack exchange,提问作者Germán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:40:58