我正在尝试弄清楚如何设置一组 .htaccess 规则,如果最初未指定,则强制在域前面出现“www”,但与此同时,它如果存在子域,则不会有任何影响;所有这一切都没有对任何域名进行硬编码,因此脚本可以在不同的服务器和配置之间移植。
编辑:
很抱歉,我无法在第一时间得到正确的解释。所以我需要的是:
http://example.com -> 重定向到 http://www.example.com
http://www.example.com -> 不重定向
http://subdomain.example.com -> 不重定向
最佳答案
这mod_rewrite规则应该对二级域执行此操作:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
关于.htaccess 要求域的 WWW,但如果存在且没有硬编码则允许子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263170/