这是我的目标:我有 9 个正在运行的网站(当然名称已更改):
- 我们
- 我们
- 杜欧网
- doo.fr
- fpp.com
- 客网
- wpp.com
- wgg.com
- tyu.fr
我想要每个网站 :
- 放置轮换日志文件的目录。完成。
- 每 24 小时更新一次 awstats,并将结果放在单独的目录中:
- /web/awstats/we_com/ -/web/awstats/we_fr/ - /web/awstats/doo_com/ -/web/awstats/doo_fr/ - /web/awstats/fpp_com/ - /web/awstats/ke_com/ - /网络/awstats/wpp_com/ -/web/awstats/wgg_com/ -/web/awstats/t_y_u_fr/
- 制作只有一个通用统计网站的虚拟主机并指定名称,重定向到好的统计网站。如果您输入其中一个 URL,则网站的基本路径应相应更改:
1. http://stats.we.com/ 将基本目录更改为 /web/we_com 2. http://stats.we.fr/ 将基本目录更改为 /web/we_fr 3. http://stats.doo.com/ 将基本目录更改为 /web/doo_com 4. http://stats.doo.fr/ 将基本目录更改为 /web/doo_fr 5. http://stats.fpp.com/ 将基本目录更改为 /web/fpp_com 6. http://stats.ke.com/ 将基目录更改为 /web/ke_com 7. http://stats.wpp.com/ 将基本目录更改为 /web/wpp_com 8. http://stats.wgg.com/ 将基本目录更改为 /web/wgg_com 9. http://stats.tyu.fr/ 将基本目录更改为 /web/t_y_u_fr
我已经完成了,但是它太长了:每个站点都有以下规则:
########################################### # 网站 we.com RewriteCond %{HTTP_HOST} ^stats\.we\.com 重写规则 ^/$ /we/awstats.we.xml [QSA,L] # 将其他目录更改为基本目录: RewriteCond %{HTTP_HOST} ^stats\.we\.com RewriteCond %{HTTP_HOST} ^stats\.we\.com 重写规则 ^/(.*) /wheeg/$1 [QSA,L]
如果您有好的优化方法,我很乐意看到它(记住有一个站点带有“-”,必须将其更改为“_”)!
答案1
对于 tyu.fr,您不能使用 - 而不是 _ 吗?因为您可以对所有域使用像这样的唯一大规模 vhost 配置:
<VirtualHost *>
VirtualDocumentRoot /web/awstats/%-2_%-1/
ServerName anything
ServerAlias stats.we.com stats.we.fr stats.doo.com ...
</VirtualHost>
查看http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html了解更多文档。也许可以通过添加重写规则来更改 - 在 DocumentRoot 路径中添加 _。这需要一些尝试。
但一般来说,树是像这样完成的:
/web/domaine.tld/public/
/web/domaine.tld/public/www/
/web/domaine.tld/public/stats/
/web/domaine.tld/public/..
/web/domaine.tld/logs/
通过使用 VirtualDocumentRoot 的域中的一个 vhost,您可以做您想做的事情。
答案2
优化的第一条规则:不要。优化的第二条规则(仅限高级使用):暂时不要。
如果它已经运行,并且没有引起任何性能或维护问题,我就不会管它。
答案3
还要记住,将 mod_rewrite 规则放在中央 apache 配置文件中比使用 .htaccess 文件更有效,因为每次请求站点时都必须重新读取 .htaccess 文件。