for file in *.js *.css
do
gzfile=$file.gz
gzip -c "$file" >"$gzfile"
done
#!/bin/bash
# Javascript files
find $1 -name "*.jgz" -exec rm -v {} \;
for x in `find $1 -name "*.js"`
do
gzip -cv "$x" > "$x".jgz
done
# Css files
find $1 -name "*.cgz" -exec rm -v {} \;
for x in `find $1 -regex ".+\.css$"`
do
gzip -cv "$x" > "$x".cgz
done
# Compression
RewriteEngine on
ReWriteCond %{HTTP:accept-encoding} (gzip.*)
RewriteCond %{REQUEST_FILENAME}.jgz -f
RewriteRule ^(.+) $1.jgz [L]
ReWriteCond %{HTTP:accept-encoding} (gzip.*)
RewriteCond %{REQUEST_FILENAME}.cgz -f
RewriteRule ^(.+) $1.cgz [L]
AddType "text/javascript;charset=iso-8859-1" .jgz
AddEncoding gzip .jgz
AddType "text/css;charset=iso-8859-1" .cgz
AddEncoding gzip .cgz
#!/bin/bash
if [ -z $1 ]
then
echo "Usage $0 directory"
exit
fi
#Usage: compress directory old_suffix new_suffix
function compress() {
# Check for arguments
if [ -z $1 -o -z $2 -o -z $3 ]
then
return
fi
# For every file in directory of type old_suffix
for x in $(find $1 -name "*.$2" -print)
do
# Skip if compressed version already exist and is newer
if [ "$x.$3" -nt "$x" ]
then
echo -e "$x\t--"
continue
fi
# Try to compress
if gzip -cv9 "$x" > "$x.$3"
then
# Delete if compressed is larger
if (( $(find "$x.$3" -printf "%s") > $(find "$x" -printf "%s") ))
then
echo -en "$x.$3\tremoved (greater than original)"
rm "$x.$3"
fi
fi
done
}
# Compress js and css files
compress $1 js jgz
compress $1 css cgz
Returner til Utvikling i Linux
Registrerte brukere: Ingen registrerte brukere