| 
									
										
										
										
											2020-08-14 14:40:42 +03:00
										 |  |  | <?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
 | 
					
						
							| 
									
										
										
										
											2017-11-24 00:09:36 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | <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> | 
					
						
							| 
									
										
										
										
											2018-01-30 18:13:01 +01:00
										 |  |  | 	#DELETE THIS IF YOU DON'T HAVE HTTPS! 
 | 
					
						
							|  |  |  | 	RewriteEngine On | 
					
						
							| 
									
										
										
										
											2018-07-11 17:41:04 +02:00
										 |  |  | 	RewriteCond %{HTTP:X-Forwarded-Proto} !https | 
					
						
							| 
									
										
										
										
											2018-01-30 18:13:01 +01:00
										 |  |  | 	RewriteCond %{HTTPS} off | 
					
						
							|  |  |  | 	RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] | 
					
						
							| 
									
										
										
										
											2017-11-24 00:09:36 +01:00
										 |  |  | </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" | 
					
						
							| 
									
										
										
										
											2020-08-14 14:40:42 +03:00
										 |  |  | </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); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ?>
 |