-
Notifications
You must be signed in to change notification settings - Fork 4
/
.htaccess
87 lines (73 loc) · 2.75 KB
/
.htaccess
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
DirectoryIndex index.php index.html .ht
<Files ~ "/index.php">
order deny,allow
allow from all
</Files>
<FilesMatch "(?<!\.gif|\.png|\.jpg|\.jpeg|\.css|\.ico|\.js|\.svg|\.map)$">
SetEnvIf Request_URI "/vendor/" deny_dir
Order allow,deny
Deny from env=deny_dir
Allow from all
</FilesMatch>
<FilesMatch "^composer|^COPYING|^\.env|^\.maintenance|^Procfile|^app\.json|^gulpfile\.js|^package\.json|^package-lock\.json|web\.config|^Dockerfile|^\.editorconfig|\.(ini|lock|dist|git|sh|bak|swp|env|twig|yml|yaml|dockerignore|sample)$">
order allow,deny
deny from all
</FilesMatch>
<IfModule mod_setenvif.c>
SetEnvIf Request_URI "\.(jpe?g|png)$" _image_request
</IfModule>
<IfModule mod_headers.c>
# クリックジャッキング対策
Header always set X-Frame-Options SAMEORIGIN
# XSS対策
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
#webpにvaray
Header append Vary Accept env=_image_request
</IfModule>
# デザインテンプレートを適用するため10Mで設定
## PHP 7.x
<IfModule mod_php7.c>
php_value post_max_size 10M
php_value upload_max_filesize 10M
</IfModule>
## PHP 8+
<IfModule mod_php.c>
php_value post_max_size 10M
php_value upload_max_filesize 10M
</IfModule>
<IfModule mod_rewrite.c>
#403 Forbidden対応方法
#ページアクセスできない時シンボリックリンクが有効になっていない可能性あります、
#オプションを追加してください
#Options +FollowSymLinks +SymLinksIfOwnerMatch
RewriteEngine On
# Acceptヘッダがimage/webpを含む場合
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{SCRIPT_FILENAME}.webp -f
# *.jpg、*.pngファイルを*.webpファイルに内部的にルーティングする
RewriteRule .(jpe?g|png)$ %{SCRIPT_FILENAME}.webp [T=image/webp]
# Authorization ヘッダが取得できない環境への対応
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
RewriteRule "^\.git" - [F]
RewriteRule "^src/" - [F]
RewriteRule "^app/" - [F]
RewriteRule "^tests/" - [F]
RewriteRule "^var/" - [F]
RewriteRule "^vendor/" - [F]
RewriteRule "^node_modules/" - [F]
RewriteRule "^gulp/" - [F]
RewriteRule "^codeception/" - [F]
RewriteRule "^bin/" - [F]
RewriteRule "^dockerbuild/" - [F]
RewriteRule "^\.devcontainer/" - [F]
RewriteRule "^zap/" - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg|map)$ [NC]
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule mod_mime.c>
# 拡張子.webpファイルはContent-Typeとしてimage/webpを返す
AddType image/webp .webp
</IfModule>