我已经在cpanel上部署了两个react build,基本上一个是管理面板,而第二个网站是这样的:
admin文件夹包含在/ admin路由上运行的管理面板的内部版本。客户文件夹包含在/路由上运行的网站版本。
我的.htaccess代码:
<IfModule mod_rewrite.c>
RewriteEngine on
# first check if request is in /client/
RewriteCond %{DOCUMENT_ROOT}/client%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/client%{REQUEST_URI} -d
RewriteRule ^(.*)$ /client/$1 [L]
# then check if request is in /admin/
RewriteCond %{DOCUMENT_ROOT}/admin%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/admin%{REQUEST_URI} -d
RewriteRule ^(.*)$ /admin/$1 [L]
</IfModule>
经过长时间的搜索后,我发现此代码是我的应用程序的解决方案,因为在cpanel中部署了两个React应用程序。问题是,尽管我在任何路由页面上刷新,但路由都能正常运行,但会出现404错误。请帮助。
我正在为我的React应用程序使用这些规则,我的情况是我有一个React应用程序,而不是两个
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index.html [L]
</IfModule>