.htaccess Files Work Instantly – 70% Apache Compatibility on OpenLiteSpeed
Install This Module
curl -sSL https://olspanel.com/extra/install_ht.sh | sed 's/\r$//' | bash -s install htaccess_compat
Remove This Module
curl -sSL https://olspanel.com/extra/install_ht.sh | sed 's/\r$//' | bash -s uninstall
RewriteEngine On
Allow from all
Deny from 192.0.8.1
SetEnvIf Request_URI "\.php$" IS_PHP_FILE=1
SetEnvIf User-Agent ".*Mozilla.*" is_firefox
Redirect 301 /old /new
RedirectMatch 301 ^/blog/(.*)$ /news/$1
<FilesMatch "\.(ico|js)$">
Header set Cache-Control "max-age=1592000"
Header unset ETag
</FilesMatch>
<FilesMatch "\.(php|html)$">
Header set Cache-Control "max-age=6592000"
Header unset ETag
</FilesMatch>
<FilesMatch "\.(txt|html)$">
Require all denied
</FilesMatch>
DirectoryIndex index.php index.html
AddDefaultCharset UTF-8
# 4. mod_headers test NOT-WORKING
<IfModule mod_headers.c>
Header set X-Test-Header "hello-testv"
Header always set X-Always "always-works?"
Header unset X-Remove-This
</IfModule>
SetEnv SPECIAL_PATH /foo/bin
RewriteRule ^test1$ test1.php [L]
RewriteRule ^baba/([0-9]+)$ param_test.php?id=$1 [L]
# Redirect /t to test.php
RewriteRule ^n$ /test.php [L]
# Custom rule: serve ip_track.php if version.txt requested
RewriteRule ^version\.txt$ ip_track.php [L]
RewriteRule ^googl$ https://www.google.com [L,R=302]
RewriteCond %{QUERY_STRING} ^x=1$
RewriteRule ^test3$ test2.php?done=ok [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ $1.php [L]
ErrorDocument 404 /errors/404.html
ErrorDocument 403 /errors/403.html
ErrorDocument 500 /errors/500.html
RewriteRule ^test1$ test1.php [L]
RewriteRule ^babu/([0-9]+)$ param_test.php?id=$1 [L]
# Redirect /t to test.php
RewriteRule ^n$ /test.php [L]
# Custom rule: serve ip_track.php if version.txt requested
RewriteRule ^version\.txt$ track.php [L]
RewriteRule ^google$ https://www.google.com [L,R=302]
RewriteCond %{QUERY_STRING} ^x=1$
RewriteRule ^test3$ test2.php?done=ok [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ $1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]
<FilesMatch "\.(ico|js)$">
Header set Cache-Control "max-age=1592000"
Header unset ETag
</FilesMatch>
<FilesMatch "\.(php|html)$">
Header set Cache-Control "max-age=6592000"
Header unset ETag
</FilesMatch>
<FilesMatch "\.(txt|html)$">
Require all denied
</FilesMatch>
SetEnv TEST_ENV production
SetEnv TEST_VERSION v2
SetEnvIf Request_URI "\.php$" IS_PHP_FILE=1
SetEnvIf User-Agent ".*Mozilla.*" is_firefox
Header set X-Test-Header "hello-testv"
Header always set X-Always "always-works?"
Header unset X-Remove-This
Redirect 301 /old /new
RedirectMatch 301 ^/blog/(.*)$ /news/$1
ExpiresActive on
ExpiresByType application/pdf A31557600
ExpiresByType image/x-icon A31557600
ExpiresByType image/vnd.microsoft.icon A31557600
ExpiresByType image/svg+xml A31557600
ExpiresByType image/jpg A31557600
ExpiresByType image/jpeg A31557600
ExpiresByType image/png A31557600
ExpiresByType image/gif A31557600
ExpiresByType image/webp A31557600
ExpiresByType image/avif A31557600
ExpiresByType video/ogg A31557600
ExpiresByType audio/ogg A31557600
ExpiresByType video/mp4 A31557600
ExpiresByType video/webm A31557600
ExpiresByType text/css A31557600
ExpiresByType text/javascript A31557600
ExpiresByType application/javascript A31557600
ExpiresByType application/x-javascript A31557600
ExpiresByType application/x-font-ttf A31557600
ExpiresByType application/x-font-woff A31557600
ExpiresByType application/font-woff A31557600
ExpiresByType application/font-woff2 A31557600
ExpiresByType application/vnd.ms-fontobject A31557600
ExpiresByType font/ttf A31557600
ExpiresByType font/otf A31557600
ExpiresByType font/woff A31557600
ExpiresByType font/woff2 A31557600