How to setup apache server for React route?

前端 未结 9 1091
无人共我
无人共我 2020-12-08 10:04

I have my react app running great on my local dev server but it did not work when I dump my production ready files straight into Apache\'s htdocs directory:

Here is

9条回答
  •  臣服心动
    2020-12-08 10:46

    Thank you! This worked for me.

    I am pasting my config if you are serving multiple sites (virtualhost) and also SSL certificates (SSL was made with certbot), with redirect http to https

    This setting works on Linode / Ubuntu

    yoursite.com-le-ssl.conf

    
    
      # Admin email, Server Name (domain name), and any aliases
      ServerAdmin webmaster@yoursite.com
      ServerName  yoursite.com
      ServerAlias www.yoursite.com
    
      # Index file and Document Root (where the public files are located)
     DirectoryIndex index.html index.php
      DocumentRoot /var/www/html/yoursite.com/public_html 
    
        RewriteEngine on
    
        # Browsers will specifically ask for HTML (among other things) on initial page load
        # That is, if the *user* tries to access a *nonexisting* URL, the app is loaded instead
        # but if a webpage attempts to load a missing resource it will return 404.
        # (You can still go to /myreactapp/favicon.ico, but a missing /myreactapp/favicon.png resource won't return 200)
    
        # if (HTTP_ACCESS.contains('text/html') && file_not_exists(REQUEST_FILENAME))
        RewriteCond %{HTTP_ACCEPT} text/html
        RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.html [last]
    
        # Any ressources loaded by index.html should behave correctly (i.e: Return 404 if missing)
        RewriteRule ^ - [last]
    
        AllowOverride None
        Options FollowSymLinks Multiviews 
        Require all granted
    
      # Log file locations
      LogLevel warn
      ErrorLog  /var/www/html/yoursite.com/log/error.log
      CustomLog /var/www/html/yoursite.com/log/access.log combined
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/yoursite.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/yoursite.com/privkey.pem
    
    
    

提交回复
热议问题