mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-02-15 07:51:14 -05:00
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/2630 now that we have PHP 7.3+ (even PHP 8.1+). * The new syntax natively supports `samesite`, and also avoids the need of re-setting all parameters. * Use automatic path instead of own function `getCookieDir()`. Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8446 * Sanitize lifetime of session cookies from PHP ini to avoid likely invalid/misunderstood values
68 lines
2.4 KiB
ApacheConf
68 lines
2.4 KiB
ApacheConf
# If you need custom .htaccess rules, instead of modifying this file,
|
|
# create one in `./i/.htaccess` (in particular for access control such as HTTP Basic Auth),
|
|
# or in `../.htaccess` for other more general rules.
|
|
# See also `../.htaccess.dist` if you cannot set Apache `DocumentRoot` to here (`FreshRSS/p/`) as recommended
|
|
|
|
<IfModule mod_dir.c>
|
|
DirectoryIndex index.php index.html
|
|
</IfModule>
|
|
|
|
FileETag None
|
|
AddDefaultCharset UTF-8
|
|
|
|
<IfModule mod_mime.c>
|
|
AddType application/javascript .js
|
|
AddType application/json .map
|
|
|
|
AddCharset UTF-8 .html
|
|
AddCharset UTF-8 .js
|
|
</IfModule>
|
|
|
|
<IfModule mod_filter.c>
|
|
<IfModule mod_deflate.c>
|
|
AddOutputFilterByType DEFLATE application/javascript application/json application/xhtml+xml image/svg+xml text/css text/html
|
|
</IfModule>
|
|
</IfModule>
|
|
|
|
<IfModule mod_expires.c>
|
|
ExpiresActive on
|
|
ExpiresDefault "access plus 1 month"
|
|
ExpiresByType application/javascript "access plus 1 month"
|
|
ExpiresByType application/xhtml+xml "access plus 1 month"
|
|
ExpiresByType image/x-icon "access plus 1 month"
|
|
ExpiresByType text/html "access plus 1 month"
|
|
<FilesMatch "\.php$">
|
|
ExpiresActive Off
|
|
</FilesMatch>
|
|
</IfModule>
|
|
|
|
<IfModule mod_headers.c>
|
|
<FilesMatch "\.(css|gif|html|ico|js|png|svg|woff|woff2)$">
|
|
Header merge Cache-Control "public"
|
|
<If "%{QUERY_STRING} =~ /^[0-9]+$/">
|
|
# For requests like `frss.css?1746304092`
|
|
Header merge Cache-Control "immutable"
|
|
</If>
|
|
</FilesMatch>
|
|
</IfModule>
|
|
|
|
# Provide the true IP address of the connection (e.g. last proxy), even when using mod_remoteip
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine on
|
|
RewriteRule .* - [E=CONN_REMOTE_ADDR:%{CONN_REMOTE_ADDR}]
|
|
</IfModule>
|
|
<IfModule !mod_rewrite.c>
|
|
<IfModule mod_setenvif.c>
|
|
SetEnvIfExpr "%{CONN_REMOTE_ADDR} =~ /(.*)/" CONN_REMOTE_ADDR=$1
|
|
</IfModule>
|
|
</IfModule>
|
|
|
|
# Log remote user with same priority as FreshRSS_http_Util::httpAuthUser(). See also api/.htaccess
|
|
<IfModule mod_setenvif.c>
|
|
SetEnvIfExpr "reqenv('LOG_REMOTE_USER') == ''" LOG_REMOTE_USER=-
|
|
SetEnvIfExpr "reqenv('LOG_REMOTE_USER') == '-' && reqenv('REMOTE_USER') =~ /(.+)/" LOG_REMOTE_USER=$1
|
|
SetEnvIfExpr "reqenv('LOG_REMOTE_USER') == '-' && reqenv('REDIRECT_REMOTE_USER') =~ /(.+)/" LOG_REMOTE_USER=$1
|
|
SetEnvIfExpr "reqenv('LOG_REMOTE_USER') == '-' && req('Remote-User') =~ /(.+)/" LOG_REMOTE_USER=$1
|
|
SetEnvIfExpr "reqenv('LOG_REMOTE_USER') == '-' && req('X-WebAuth-User') =~ /(.+)/" LOG_REMOTE_USER=$1
|
|
</IfModule>
|