所以,我使用create-react-app,只使用默认的App等,然后是npm run build . 我将文件从构建目录复制到Apache服务器根目录(特别是http://react.tr8.us) . 没关系 . 我可以访问http://react.tr8.us的React,然后我可以访问http://react.tr8.us/favicon.ico . (它确实在's not the icon that I'之后,但我想将其他文件放在"public"目录中 . )

我获得了Lets Encrypt证书,并对其进行了配置:

<IfModule mod_ssl.c>
<VirtualHost 198.143.2.247:443>
        ServerAdmin webmaster@react.tr8.us
        ServerName react.tr8.us
        DocumentRoot /usr/www/react
        CustomLog /usr/var/log/httpd/react.log combined
SSLCertificateFile /etc/letsencrypt/live/react.tr8.us/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/react.tr8.us/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/react.tr8.us/chain.pem
</VirtualHost>
</IfModule>

所以,现在我可以在https://react.tr8.us访问React,但是如果我尝试在开发模式下获取"public"目录中的任何文件,比如https://react.tr8.us/favicon.ico,它只会提供主React页面 .

那么,我如何在Apache上提供静态内容和React?