-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c03d45d
commit 367b86c
Showing
285 changed files
with
60,533 additions
and
3,506 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,310 @@ | ||
## List empty directories for directories without index page | ||
#IndexIgnore * | ||
Options -Indexes | ||
|
||
## Default index page in any directory | ||
DirectoryIndex index.php | ||
|
||
## Display .php Files as .PHP | ||
AddType Application/x-httpd-php .php | ||
|
||
# Redirect to HTTPS | ||
RewriteEngine On | ||
RewriteCond %{HTTPS} off | ||
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] | ||
|
||
|
||
|
||
# php -- BEGIN cPanel-generated handler, do not edit | ||
# Set the “ea-php74” package as the default “PHP” programming language. | ||
<IfModule mime_module> | ||
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml | ||
</IfModule> | ||
# php -- END cPanel-generated handler, do not edit | ||
|
||
|
||
## Increase the execution time of any script | ||
<IfModule mod_php7.c> | ||
php_value max_execution_time 0 | ||
</IfModule> | ||
|
||
## Permission not granted Page | ||
ErrorDocument 403 "<h1>You are not allowed to access this directory</h1><a href='https://ugasolutions.co.ug/'>Back to Home</a>" | ||
#RedirectMatch 403 /classes(.*) http://xitecsolutions.com/emis/error403.php$1 | ||
|
||
## DENY REQUEST BASED ON REQUEST METHOD | ||
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|HEAD)$ [NC] | ||
RewriteRule ^.*$ - [F] | ||
|
||
## REQUIRE SSL EVEN WHEN MOD_SSL IS NOT LOADED | ||
#RewriteCond %{HTTPS} !=on [NC] | ||
#RewriteRule ^.*$ https://%{xitecsolutions.com}%{emis} [R,L] | ||
|
||
## Safe Request Methods | ||
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC] | ||
RewriteRule .? - [F,NS,L] | ||
|
||
## Defaults for the Server | ||
DefaultLanguage en-US | ||
AddDefaultCharset UTF-8 | ||
ServerSignature Off | ||
|
||
## Not Found Error Handling | ||
RewriteEngine On | ||
RewriteCond %{REQUEST_FILENAME} !-d | ||
RewriteCond %{REQUEST_FILENAME} !-f | ||
RewriteCond %{REQUEST_FILENAME} !-l | ||
RewriteRule ^(.+)$ 404.php?url=$1 [QSA,L] | ||
|
||
## Block bad bots and offline browsers | ||
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] | ||
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] | ||
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] | ||
RewriteCond %{HTTP_USER_AGENT} ^Zeus | ||
RewriteRule ^.* - [F,L] | ||
|
||
## Cache some files to improve loading speed | ||
|
||
<IfModule mod_deflate.c> | ||
# Insert filters / compress text, html, javascript, css, xml: | ||
# mod_deflate can be used for Apache v2 and later and is the recommended GZip mechanism to use | ||
AddOutputFilterByType DEFLATE text/plain | ||
AddOutputFilterByType DEFLATE text/javascript | ||
AddOutputFilterByType DEFLATE text/html | ||
AddOutputFilterByType DEFLATE text/xml | ||
AddOutputFilterByType DEFLATE text/css | ||
AddOutputFilterByType DEFLATE text/vtt | ||
AddOutputFilterByType DEFLATE text/x-component | ||
AddOutputFilterByType DEFLATE application/xml | ||
AddOutputFilterByType DEFLATE application/xhtml+xml | ||
AddOutputFilterByType DEFLATE application/rss+xml | ||
AddOutputFilterByType DEFLATE application/js | ||
AddOutputFilterByType DEFLATE application/javascript | ||
AddOutputFilterByType DEFLATE application/x-javascript | ||
AddOutputFilterByType DEFLATE application/x-httpd-php | ||
AddOutputFilterByType DEFLATE application/x-httpd-fastphp | ||
AddOutputFilterByType DEFLATE application/atom+xml | ||
AddOutputFilterByType DEFLATE application/json | ||
AddOutputFilterByType DEFLATE application/ld+json | ||
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject | ||
AddOutputFilterByType DEFLATE application/x-font-ttf | ||
AddOutputFilterByType DEFLATE application/font-sfnt | ||
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json | ||
AddOutputFilterByType DEFLATE font/opentype | ||
AddOutputFilterByType DEFLATE font/otf | ||
AddOutputFilterByType DEFLATE font/ttf | ||
AddOutputFilterByType DEFLATE font/sfnt | ||
AddOutputFilterByType DEFLATE image/svg+xml | ||
AddOutputFilterByType DEFLATE image/x-icon | ||
|
||
# Exception: Images | ||
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary | ||
|
||
# Drop problematic browsers | ||
BrowserMatch ^Mozilla/4 gzip-only-text/html | ||
BrowserMatch ^Mozilla/4\.0[678] no-gzip | ||
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html | ||
|
||
# Make sure proxies don't deliver the wrong content | ||
<IfModule mod_headers.c> | ||
Header append Vary User-Agent env=!dont-vary | ||
</IfModule> | ||
|
||
</IfModule> | ||
|
||
# mod_gzip is an external extension and last updated 2015, so | ||
# if available please use mod_deflate instead | ||
# If you are stuck on Apache v1.3 you can use mod_zip to enable Gzip | ||
# as mod_deflate is available for Apache v2 or later only. | ||
<IfModule mod_gzip.c> | ||
mod_gzip_on Yes | ||
mod_gzip_dechunk Yes | ||
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ | ||
mod_gzip_item_include handler ^cgi-script$ | ||
mod_gzip_item_include mime ^text/.* | ||
mod_gzip_item_include mime ^application/x-javascript.* | ||
mod_gzip_item_exclude mime ^image/.* | ||
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* | ||
</IfModule> | ||
|
||
|
||
## EXPIRES CACHING ## | ||
<IfModule mod_expires.c> | ||
ExpiresActive On | ||
ExpiresDefault "access plus 1 week" | ||
|
||
ExpiresByType text/css "access plus 1 month" | ||
|
||
ExpiresByType application/atom+xml "access plus 1 hour" | ||
ExpiresByType application/rdf+xml "access plus 1 hour" | ||
ExpiresByType application/rss+xml "access plus 1 hour" | ||
|
||
ExpiresByType application/json "access plus 0 seconds" | ||
ExpiresByType application/ld+json "access plus 0 seconds" | ||
ExpiresByType application/schema+json "access plus 0 seconds" | ||
ExpiresByType application/vnd.geo+json "access plus 0 seconds" | ||
ExpiresByType application/xml "access plus 0 seconds" | ||
ExpiresByType text/xml "access plus 0 seconds" | ||
|
||
ExpiresByType image/x-icon "access plus 1 month" | ||
ExpiresByType image/vnd.microsoft.icon "access plus 1 month" | ||
|
||
ExpiresByType text/html "access plus 1 minute" | ||
|
||
ExpiresByType text/javascript "access plus 1 month" | ||
ExpiresByType text/x-javascript "access plus 1 month" | ||
ExpiresByType application/javascript "access plus 1 months" | ||
ExpiresByType application/x-javascript "access plus 1 months" | ||
|
||
ExpiresByType image/jpg "access plus 1 month" | ||
ExpiresByType image/jpeg "access plus 1 month" | ||
ExpiresByType image/gif "access plus 1 month" | ||
ExpiresByType image/png "access plus 1 month" | ||
ExpiresByType image/svg+xml "access plus 1 month" | ||
ExpiresByType image/bmp "access plus 1 month" | ||
ExpiresByType image/webp "access plus 1 month" | ||
|
||
ExpiresByType audio/ogg "access plus 1 month" | ||
|
||
ExpiresByType video/mp4 "access plus 1 month" | ||
ExpiresByType video/ogg "access plus 1 month" | ||
ExpiresByType video/webm "access plus 1 month" | ||
|
||
ExpiresByType text/plain "access plus 1 month" | ||
ExpiresByType text/x-component "access plus 1 month" | ||
|
||
ExpiresByType application/manifest+json "access plus 1 week" | ||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" | ||
ExpiresByType text/cache-manifest "access plus 0 seconds" | ||
|
||
ExpiresByType application/pdf "access plus 1 month" | ||
|
||
ExpiresByType application/x-shockwave-flash "access plus 1 month" | ||
|
||
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" | ||
ExpiresByType font/eot "access plus 1 month" | ||
ExpiresByType font/opentype "access plus 1 month" | ||
ExpiresByType application/x-font-ttf "access plus 1 month" | ||
ExpiresByType application/font-woff "access plus 1 month" | ||
ExpiresByType application/font-woff2 "access plus 1 month" | ||
ExpiresByType application/x-font-woff "access plus 1 month" | ||
ExpiresByType font/woff "access plus 1 month" | ||
|
||
</IfModule> | ||
## EXPIRES CACHING ## | ||
|
||
|
||
#Alternative caching using Apache's "mod_headers", if it's installed. | ||
#Caching of common files - ENABLED | ||
<IfModule mod_headers.c> | ||
|
||
# 1 Month | ||
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> | ||
Header set Cache-Control "max-age=2592000, public" | ||
</FilesMatch> | ||
|
||
# 2 DAYS | ||
<FilesMatch "\.(xml|txt)$"> | ||
Header set Cache-Control "max-age=172800, public, must-revalidate" | ||
</FilesMatch> | ||
|
||
# 2 HOURS | ||
<FilesMatch "\.(html|htm)$"> | ||
Header set Cache-Control "max-age=7200, must-revalidate" | ||
</FilesMatch> | ||
|
||
</IfModule> | ||
|
||
|
||
<IfModule mod_headers.c> | ||
<FilesMatch "\.(js|css|xml|gz|html|ttf)$"> | ||
Header append Vary: Accept-Encoding | ||
</FilesMatch> | ||
</IfModule> | ||
|
||
# Set Keep Alive Header | ||
# This *just* sets the header - maybe your hoster is not allowing this feature | ||
# Please check if it is working with tools like http://www.webpagetest.org | ||
<IfModule mod_headers.c> | ||
Header set Connection keep-alive | ||
</IfModule> | ||
|
||
# If your server don't support ETags deactivate with "None" (and remove header) | ||
<IfModule mod_expires.c> | ||
<IfModule mod_headers.c> | ||
Header unset ETag | ||
</IfModule> | ||
FileETag None | ||
</IfModule> |
Oops, something went wrong.