ls -sa | awk '{ SUM += $1 } END { print "Block size=" SUM }'
параметр -s
в ls
печатает выделенный размер каждого файла в блоках
И реальный размер:
ls -la | awk '{ SUM += $5 } END { print "Dir size=" SUM }'
Попробуйте
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/vhosts/example.com/httpdocs
ServerAlias *.example.com
VirtualDocumentRoot /var/www/vhosts/example.com/%0
</VirtualHost>
Это явно не включает всю конфигурацию, но должно заставить работать ваши поддомены с подстановочными знаками.
Затем я бы перенаправлял все запросы с www.example.com
на example.com
. Самый простой способ сделать это, вероятно, - использовать файл htaccess внутри /var/www/vhosts/example.com/www.example.com
В качестве альтернативы, если у вас есть символические ссылки, вы можете использовать символическую ссылку / var / www / vhosts / example.com / www.example.com
на /var/www/vhosts/example.com/httpdocs
Изменить:
Вы можете поместить перенаправление в vhost конфигурацию, если вы не хотите делать это в .htaccess
. Попробуйте следующее:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/vhosts/example.com/httpdocs
ServerAlias *.example.com
VirtualDocumentRoot /var/www/vhosts/example.com/%0
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^/(.*)$ http://example.com/$1 [L,R=301]
</VirtualHost>
Я не знаю, как это сделать без какого-либо перенаправления. Кстати, хорошей практикой является перенаправление без www на www или с www на не с www. Наличие того, что по сути является дубликатом вашего сайта, будет неприятностью, если вы планируете заниматься какой-либо работой по SEO.
Я написал скрипт для себя - он работает для меня :)
Но прежде чем читать мой скрипт - мой вам совет: не используйте
<VirtualHost example.com>
....
</VirtualHost>
вместо этого используйте:
или
, чтобы начать запись VirtualHost.
Примечание: я работаю в основном на AIX, поэтому в качестве оболочки у меня ksh. Это также должно работать с /bin/sh или /bin/bash.
Syntax:
vhost.ksh <ServrName> [ServerAlias1] [... ServerAliasN]
#!/usr/bin/ksh
# Copyright AIXTOOLS.NET, 2014
# This script creates a vhost template
# under the assumption that the site might be served by multiple hosts
# the logs are put into a sub-directory
# ${SITEroot}/logs/LOGNAME.$host
site=$1
shift
alias=$*
HOST=`hostname -s`
SITE=/var/httpd/${site}
LOGDIR=${SITE}/logs
cat -<<EOF1
# AIXTOOLS.NET vhost.ksh output
# VirtualHost template for ${site}
# SITEBASE=${SITE}
# LOGDIR=${LOGDIR}
<VirtualHost *:80>
ServerName ${site}
EOF1
for name in ${alias}
do
print " ServerAlias ${name}"
done
cat - <<EOF2
DocumentRoot "${SITE}/htdocs"
<Directory "/var/httpd/${site}/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#Logs for ${site}
# combined is chosen as default to support awstats reporting
CustomLog "${LOGDIR}/access_log.${HOST}" combined
# ErrorLog "${LOGDIR}/error_log.${HOST}"
# You can consider using different "localN" syslogs to split different vhosts
# should you need that
ErrorLog syslog:user
# LogLevel alert rewrite:trace3
# LogLevel alert
# RewriteLog "/var/httpd/${site}/logs/rewrite.log"
# RewriteLogLevel 0
</VirtualHost>
EOF2