【问题标题】:Using mod_rewrite with mod_vhost_alias将 mod_rewrite 与 mod_vhost_alias 一起使用
【发布时间】:2011-01-21 21:31:57
【问题描述】:

我想知道是否可以将 vhost_alias 模块与重写规则结合使用。所以在我的 VirtualHost 我有这个:

VirtualDocumentRoot /var/www/%2+/%1

例如,sub.mydomain.com 将指向 /var/www/mydomain.com/sub/
但我想检查该文件夹是否存在,以避免在尝试访问虚假子域时出现 404 错误。

所以我尝试这样做

RewriteCond /var/www/%2+/%1 !-d
RewriteRule ^.*$ www.mydomain.com

但它不起作用。有什么想法吗?

【问题讨论】:

    标签: apache mod-rewrite apache2 vhosts


    【解决方案1】:

    找到了另一种方法来做我想做的事:

    RewriteRule ^(.*)$ %{HTTP_HOST}/$1
    RewriteRule ^(.*)\.([^/.]*)\.([^/.]*)\/(.*) /home/vhosts/$2.$3/$1$4 [E=VIRTUAL_ROOT:/home/vhosts/$2.$3/$1]
    
    RewriteCond %{ENV:VIRTUAL_ROOT} !-d
    RewriteRule .* http://www.mydomain.com [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 2011-11-13
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      相关资源
      最近更新 更多