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