基本上我的网络服务器上有一个文件夹,只要我购买了只有index.html和images文件夹的文件夹,我就分配给新域名。它基本上只有我的标识,并表示该域正在建设中,即将推出。
通常我想强行使用www。前缀我使用以下代码:
rewritecond %{HTTP_HOST} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
这很好但是我需要明确地写出域的名称。我处理了很多域名,因此我需要能够在不知道域名的情况下执行此操作的代码。我试了一下,老实说没有人在哪附近。
答案 0 :(得分:9)
试试这个:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
答案 1 :(得分:2)
这会将“ftp.domain.com”重定向到“www.ftp.domain.com”。可能不是你想要的。
这可能需要一些修改,但我决定写自己的,所以你去:
RewriteCond %{HTTP_HOST} !^%{SERVER_ADDR}$ [NC]
RewriteCond %{HTTP_HOST} !\.dev$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ([^\.]+(\.[^\.0-9]{2,4}){1,2})$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=permanent,L]
它应该支持单字和双字TLD,通过IP地址访问,以及DOMAIN.dev用于本地开发。适用于4个以上字符的域名。