Created
August 15, 2018 14:46
-
-
Save iheartmedia-matt/253ccb6183fdeaa5619f615f2cb5a58b to your computer and use it in GitHub Desktop.
Apache .htaccess SSL React Router
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<ifModule mod_rewrite.c> | |
####################################################################### | |
# GENERAL # | |
####################################################################### | |
# Make apache follow sym links to files | |
Options +FollowSymLinks | |
# If somebody opens a folder, hide all files from the resulting folder list | |
IndexIgnore */* | |
####################################################################### | |
# REWRITING # | |
####################################################################### | |
# Enable rewriting | |
RewriteEngine On | |
# If its not HTTPS | |
RewriteCond %{HTTPS} off | |
# Comment out the RewriteCond above, and uncomment the RewriteCond below if you're using a load balancer (e.g. CloudFlare) for SSL | |
# RewriteCond %{HTTP:X-Forwarded-Proto} !https | |
# Redirect to the same URL with https://, ignoring all further rules if this one is in effect | |
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R,L] | |
# If we get to here, it means we are on https:// | |
# If the file with the specified name in the browser doesn't exist | |
RewriteCond %{REQUEST_FILENAME} !-f | |
# and the directory with the specified name in the browser doesn't exist | |
RewriteCond %{REQUEST_FILENAME} !-d | |
# and we are not opening the root already (otherwise we get a redirect loop) | |
RewriteCond %{REQUEST_FILENAME} !\/$ | |
# Rewrite all requests to the root | |
RewriteRule ^(.*) / | |
</ifModule> | |
<IfModule mod_headers.c> | |
# Do not cache sw.js, required for offline-first updates. | |
<FilesMatch "sw\.js$"> | |
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" | |
Header set Pragma "no-cache" | |
</FilesMatch> | |
</IfModule> |
I have an "ERR_TOO_MANY_REDIRECTS" error with all the solutions found, has anyone ever had this problem?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For people that serve the react app in a subdirectory, here is the solution:
Comment out or remove out these two lines bellow
Add this rewrite rule to point to index.html