mirror of
				https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
				synced 2025-10-30 19:40:20 -04:00 
			
		
		
		
	* Create create-htaccess.php This file generates a .htaccess file that contains all necessary code for it. This is needed because some hosts do not either unzip hidden files or neither GitHub puts that file inside the zips. * Delete .htaccess * Add required code for creating htaccess * Add support for both iis and apache * Delete web.config * Rename create-htaccess.php to create-server-config.php * Rename file links for create-server-config.php * Last nitpick :)
		
			
				
	
	
		
			154 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php 
 | |
| /********************************************************************/
 | |
| //                       create-htaccess.php
 | |
| //                  Created by Yigit Kerem Oktay
 | |
| // This file generates a .htaccess file that contains all necessary 
 | |
| // code for it.
 | |
| // This is needed because some hosts do not either unzip hidden files
 | |
| // or neither GitHub puts that file inside the zips.
 | |
| /********************************************************************/
 | |
| if(stripos($_SERVER['SERVER_SOFTWARE'],'apache')!== false){
 | |
| $f = fopen(".htaccess", "a+");
 | |
| fwrite($f, "ErrorDocument 404 /404.php
 | |
| 
 | |
| <IfModule mod_headers.c>
 | |
|     Header set X-UA-Compatible "IE=edge"
 | |
|     <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|woff2?|xloc|xml|xpi)$">
 | |
|         Header unset X-UA-Compatible
 | |
|     </FilesMatch>
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_rewrite.c>
 | |
| 	#DELETE THIS IF YOU DON'T HAVE HTTPS! 
 | |
| 	RewriteEngine On
 | |
| 	RewriteCond %{HTTP:X-Forwarded-Proto} !https
 | |
| 	RewriteCond %{HTTPS} off
 | |
| 	RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 | |
| </IfModule>
 | |
| 
 | |
| 
 | |
| <IfModule mod_headers.c>
 | |
|     Header set X-Content-Type-Options "nosniff"
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_deflate.c>
 | |
| 
 | |
| <IfModule mod_setenvif.c>
 | |
|     <IfModule mod_headers.c>
 | |
|         SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
 | |
|         RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
 | |
|     </IfModule>
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_filter.c>
 | |
|     AddOutputFilterByType DEFLATE "application/atom+xml" \
 | |
|                                   "application/javascript" \
 | |
|                                   "application/json" \
 | |
|                                   "application/ld+json" \
 | |
|                                   "application/manifest+json" \
 | |
|                                   "application/rdf+xml" \
 | |
|                                   "application/rss+xml" \
 | |
|                                   "application/schema+json" \
 | |
|                                   "application/vnd.geo+json" \
 | |
|                                   "application/vnd.ms-fontobject" \
 | |
|                                   "application/x-font-ttf" \
 | |
|                                   "application/x-javascript" \
 | |
|                                   "application/x-web-app-manifest+json" \
 | |
|                                   "application/xhtml+xml" \
 | |
|                                   "application/xml" \
 | |
|                                   "font/eot" \
 | |
|                                   "font/opentype" \
 | |
|                                   "image/bmp" \
 | |
|                                   "image/svg+xml" \
 | |
|                                   "image/vnd.microsoft.icon" \
 | |
|                                   "image/x-icon" \
 | |
|                                   "text/cache-manifest" \
 | |
|                                   "text/css" \
 | |
|                                   "text/html" \
 | |
|                                   "text/javascript" \
 | |
|                                   "text/plain" \
 | |
|                                   "text/vcard" \
 | |
|                                   "text/vnd.rim.location.xloc" \
 | |
|                                   "text/vtt" \
 | |
|                                   "text/x-component" \
 | |
|                                   "text/x-cross-domain-policy" \
 | |
|                                   "text/xml"
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_mime.c>
 | |
|     AddEncoding gzip              svgz
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_headers.c>
 | |
|     Header unset ETag
 | |
| </IfModule>
 | |
| 
 | |
| FileETag None
 | |
| 
 | |
| <IfModule mod_expires.c>
 | |
|     ExpiresActive on
 | |
|     ExpiresDefault                                      "access plus 1 month"
 | |
|     ExpiresByType text/css                              "access plus 1 year"
 | |
|     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/vnd.microsoft.icon              "access plus 1 week"
 | |
|     ExpiresByType image/x-icon                          "access plus 1 week"
 | |
|     ExpiresByType text/html                             "access plus 0 seconds"
 | |
|     ExpiresByType application/javascript                "access plus 1 year"
 | |
|     ExpiresByType application/x-javascript              "access plus 1 year"
 | |
|     ExpiresByType text/javascript                       "access plus 1 year"
 | |
|     ExpiresByType application/manifest+json             "access plus 1 year"
 | |
|     ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
 | |
|     ExpiresByType text/cache-manifest                   "access plus 0 seconds"
 | |
|     ExpiresByType audio/ogg                             "access plus 1 month"
 | |
|     ExpiresByType image/bmp                             "access plus 1 month"
 | |
|     ExpiresByType image/gif                             "access plus 1 month"
 | |
|     ExpiresByType image/jpeg                            "access plus 1 month"
 | |
|     ExpiresByType image/png                             "access plus 1 month"
 | |
|     ExpiresByType image/svg+xml                         "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 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/x-font-woff               "access plus 1 month"
 | |
|     ExpiresByType font/woff                             "access plus 1 month"
 | |
|     ExpiresByType application/font-woff2                "access plus 1 month"
 | |
|     ExpiresByType text/x-cross-domain-policy            "access plus 1 week"
 | |
| </IfModule>");
 | |
| fclose($f);
 | |
| } else {
 | |
| $f = fopen("web.config", "a+");
 | |
| fwrite($f, "<?xml version="1.0" encoding="UTF-8"?>
 | |
| <configuration>
 | |
| 	<system.webServer>
 | |
| 		<rewrite>
 | |
| 			<rules>
 | |
| 				<rule name="Imported Rule 1" stopProcessing="true">
 | |
| 					<match url="^(.*)$" ignoreCase="false" />
 | |
| 					<conditions>
 | |
| 						<add input="{HTTPS}" pattern="off" ignoreCase="false" />
 | |
| 					</conditions>
 | |
| 					<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}{URL}" />
 | |
| 				</rule>
 | |
| 			</rules>
 | |
| 		</rewrite>
 | |
| 		<staticContent>
 | |
| 			<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
 | |
| 		</staticContent>
 | |
| 	</system.webServer>
 | |
| </configuration>");
 | |
| fclose($f);
 | |
| }
 | |
| ?>
 |