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で設定
<IfModule mod_php7.c>
    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>

# 管理画面へのBasic認証サンプル
#
# AuthType Basic
# AuthName "Please enter username and password"
# AuthUserFile /path/to/.htpasswd
# AuthGroupFile /dev/null
# require valid-user
#
# SetEnvIf Request_URI "^/admin" admin_path  # ^/adminは, 管理画面URLに応じて変更してください
# <RequireAll>
#     Require all granted
#     Require not env admin_path
# </RequireAll>

# 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
