关于www的htaccess http_host问题

时间:2011-06-23 15:32:56

标签: apache .htaccess

我正在使用以下规则将domain.com重定向到https://mail.google.com/a/domain.com,以便我的客户可以检查他们的邮件。

RewriteRule ^mail https://mail.google.com/a/%{HTTP_HOST} [R=301,L,NC]

问题是www.domain.com最终在https://mail.google.com/a/www.domain.com,这是不正确的。是否有任何不包含www的变量。 ?或者,有人可以帮我剥离吗?

作为一个切线问题:有没有人知道用于测试htaccess文件的Web工具?在测试htaccess时我遇到了很多缓存问题,我认为简单的模拟环境会非常棒。

由于

1 个答案:

答案 0 :(得分:1)

使用RewriteCond并匹配域名。之后,您可以在RewriteRule中对其进行反向引用,如下所示:

RewriteCond %{HTTP_HOST}  ([^.]+(\.|\.co\.|\.com\.)[^.]+)$
RewriteRule ^e?mail       https://mail.google.com/a/%1 [R=301,L,NC]

([^.]+\.[^.]+)$会匹配您网域的最后两个部分,用点分隔。

修改: ([^.]+(\.|\.co\.)[^.]+)$也会与DOMAIN.TLD和DOMAIN.co.TLD相匹配。

Edit2: ^e?mail表示DOMAIN.TLD / mail和DOMAIN.TLD / email会重定向

编辑3: ([^.]+(\.|\.co\.|\.com\.)[^.]+)$表格DOMAIN.com.TLD,并进行了一些修正,错过了一个点。