.htaccess要求域名为WWW,但如果现有没有硬编码则允许子域名

时间:2009-08-11 21:53:58

标签: .htaccess redirect subdomain

我正在试图弄清楚如何设置.htaccess规则集,如果最初未指定,则强制在域前面存在“www”,但与此同时,它如果属于子域,则不会产生任何影响;所有这些都没有硬编码任何域名,因此脚本可以在不同的服务器和配置下移植。

修改

对不起,我无法在第一时间解释这个问题。所以我需要的是:

http://example.com - >重定向到http://www.example.com

http://www.example.com - >不重定向

http://subdomain.example.com - >不重定向

2 个答案:

答案 0 :(得分:12)

mod_rewrite规则应针对二级域执行此操作:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

答案 1 :(得分:1)

RewriteCond %{HTTP_HOST} ^example\.org
RewriteRule ^ http://www.example.org%{REQUEST_URI} [L,R=301]

这不会重定向子邮件,例如mail.example.org