将 www 添加到 URL:不起作用

将 www 添加到 URL:不起作用

这是我之前在本组中发布的重定向查询的进一步内容。

Apache 的重定向规则:将 www 添加到 URL

它仍然不适合我,所以重新发布相同的查询。查询是添加wwwURL 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.comwww.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
    ...

相关内容