所以,我使用了create-react-app,只使用了默认的App等,然后是npm run build。我将文件从构建目录复制到Apache服务器根目录(特别是http://react.tr8.us)。没关系。我可以访问React,http://react.tr8.us,和我可以访问http://react.tr8.us/favicon.ico。 (它不是我真正关注的图标,但我想将其他文件放在" 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,如果我尝试获取&#34; public&#34;中的任何文件。在开发模式下的目录,如https://react.tr8.us/favicon.ico,它只是为主React页面服务。
那么,我如何在Apache上提供静态内容和React?