这是我之前在本组中发布的重定向查询的进一步内容。
它仍然不适合我,所以重新发布相同的查询。查询是添加www
到URL www.example.com.au
我尝试一一添加重写规则,如下所示,但仍然没有成功。www
正在从 URL 中删除。
RewriteCond %{HTTP_HOST} ^example\.com\.au$ [NC]
RewriteRule ^(.*)$ http://www.example.com.au/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.example\.com\.au$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com.au/$1 [L,R]
请进一步建议。
答案1
# Replace 'example.com' with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]
答案2
我们的网站管理员似乎已经通过为example.com
和www.example.com
主机名使用不同的 VirtualHost 解决了这个问题;配置至少需要mod_rewrite
处理的事情要少得多......
<VirtualHost *:80>
ServerName actual.example.com
ServerAlias ... # any other names for the host here
DocumentRoot "/some/dir" # required by Apache?
RedirectMatch (.*) http://www.example.com$1
</VirtualHost>
# main host (actually a CNAME for actual.example.com in DNS,
# but whatever)
<VirtualHost *:80>
ServerName www.example.com
...