我正在使用以下规则将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时我遇到了很多缓存问题,我认为简单的模拟环境会非常棒。
由于
答案 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,并进行了一些修正,错过了一个点。