Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/imagify/classes/Webp/RewriteRules/ |
<?php declare(strict_types=1); namespace Imagify\Webp\RewriteRules; use Imagify\WriteFile\AbstractIISDirConfFile; /** * Add and remove rewrite rules to the web.config file to display WebP images on the site. * * @since 1.9 */ class IIS extends AbstractIISDirConfFile { /** * Name of the tag used as block delemiter. * * @var string * @since 1.9 */ const TAG_NAME = 'Imagify: rewrite rules for webp'; /** * Get unfiltered new contents to write into the file. * * @since 1.9 * @source https://github.com/igrigorik/webp-detect/blob/master/iis.config * * @return string */ protected function get_raw_new_contents() { $extensions = $this->get_extensions_pattern(); $extensions = str_replace( '|webp', '', $extensions ); $home_root = wp_parse_url( home_url( '/' ) ); $home_root = $home_root['path']; return trim( ' <!-- @parent /configuration/system.webServer/rewrite/rules --> <rule name="' . esc_attr( static::TAG_NAME ) . ' 2"> <match url="^(' . $home_root . '.+)\.(' . $extensions . ')$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_ACCEPT}" pattern="image/webp" ignoreCase="false" /> <add input="{DOCUMENT_ROOT}/{R:1}{R:2}.webp" matchType="IsFile" /> </conditions> <action type="Rewrite" url="{R:1}{R:2}.webp" logRewrittenUrl="true" /> <serverVariables> <set name="ACCEPTS_WEBP" value="true" /> </serverVariables> </rule> <!-- @parent /configuration/system.webServer/rewrite/outboundRules --> <rule preCondition="IsWebp" name="' . esc_attr( static::TAG_NAME ) . ' 3"> <match serverVariable="RESPONSE_Vary" pattern=".*" /> <action type="Rewrite" value="Accept"/> </rule> <preConditions name="' . esc_attr( static::TAG_NAME ) . ' 4"> <preCondition name="IsWebp"> <add input="{ACCEPTS_WEBP}" pattern="true" ignoreCase="false" /> </preCondition> </preConditions>' ); } }