Last active
March 12, 2024 13:49
-
-
Save takshaktiwari/30015be7203846751f82263a484dd95b to your computer and use it in GitHub Desktop.
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
# redirect to https | |
RewriteEngine On | |
RewriteCond %{HTTPS} off | |
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] | |
# redirect to https (all traffic) | |
RewriteEngine On | |
RewriteCond %{SERVER_PORT} 80 | |
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L] | |
# redirect to https (only specific domain) | |
RewriteEngine On | |
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC] | |
RewriteCond %{SERVER_PORT} 80 | |
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L] | |
# redirect to https (only specific folder) | |
RewriteEngine On | |
RewriteCond %{SERVER_PORT} 80 | |
RewriteCond %{REQUEST_URI} folder | |
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L] | |
# remove www from url | |
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] | |
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,QSA,NC,L] | |
# Check if the URL ends with '.php' and not with 'index.php' | |
# Redirect to the same URL without '.php' | |
RewriteCond %{REQUEST_URI} !/index\.php$ | |
RewriteCond %{REQUEST_URI} ^(.+)\.php$ | |
RewriteRule ^ %1 [R=301,L] | |
# for DEFLATE Compression | |
<IfModule mod_deflate.c> | |
# Compress HTML, CSS, JavaScript, Text, XML and fonts | |
AddOutputFilterByType DEFLATE application/javascript | |
AddOutputFilterByType DEFLATE application/rss+xml | |
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject | |
AddOutputFilterByType DEFLATE application/x-font | |
AddOutputFilterByType DEFLATE application/x-font-opentype | |
AddOutputFilterByType DEFLATE application/x-font-otf | |
AddOutputFilterByType DEFLATE application/x-font-truetype | |
AddOutputFilterByType DEFLATE application/x-font-ttf | |
AddOutputFilterByType DEFLATE application/x-javascript | |
AddOutputFilterByType DEFLATE application/xhtml+xml | |
AddOutputFilterByType DEFLATE application/xml | |
AddOutputFilterByType DEFLATE font/opentype | |
AddOutputFilterByType DEFLATE font/otf | |
AddOutputFilterByType DEFLATE font/ttf | |
AddOutputFilterByType DEFLATE image/svg+xml | |
AddOutputFilterByType DEFLATE image/x-icon | |
AddOutputFilterByType DEFLATE text/css | |
AddOutputFilterByType DEFLATE text/html | |
AddOutputFilterByType DEFLATE text/javascript | |
AddOutputFilterByType DEFLATE text/plain | |
AddOutputFilterByType DEFLATE text/xml | |
# Remove browser bugs (only needed for really old browsers) | |
BrowserMatch ^Mozilla/4 gzip-only-text/html | |
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html | |
Header append Vary User-Agent | |
</IfModule> | |
# resources caching | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
ExpiresByType image/jpg "access 1 year" | |
ExpiresByType image/jpeg "access 1 year" | |
ExpiresByType image/gif "access 1 year" | |
ExpiresByType image/png "access 1 year" | |
ExpiresByType image/svg "access 1 year" | |
ExpiresByType text/css "access 1 month" | |
ExpiresByType application/pdf "access 1 month" | |
ExpiresByType application/javascript "access 1 month" | |
ExpiresByType application/x-javascript "access 1 month" | |
ExpiresByType application/x-shockwave-flash "access 1 month" | |
ExpiresByType image/x-icon "access 1 year" | |
ExpiresDefault "access 2 days" | |
</IfModule> | |
# Resources caching with `FilesMatch` for 7 days | |
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> | |
Header set Cache-Control "max-age=604800, public" | |
</FilesMatch> | |
# Protect files | |
<Files .env> | |
Order allow,deny | |
Deny from all | |
</Files> | |
<Files composer.json> | |
Order allow,deny | |
Deny from all | |
</Files> | |
<Files composer.lock> | |
Order allow,deny | |
Deny from all | |
</Files> | |
<Files package-lock.json> | |
Order allow,deny | |
Deny from all | |
</Files> | |
<Files package.json> | |
Order allow,deny | |
Deny from all | |
</Files> | |
# Protect files using FilesMatch | |
<FilesMatch "(\.(env|example|sh)$)"> | |
order allow,deny | |
Deny from all | |
</FilesMatch> | |
# Access within public folder from outside of folder | |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteRule ^(.*)$ /public/$1 [L] | |
</IfModule> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https redirect added