将http重定向到https和非www到www
问题描述:
我遇到了apache2问题。我想将端口80重定向到端口443,但也将非www重定向到www。将http重定向到https和非www到www
在下面的配置我有HTTP到HTTPS重定向工作正常:
<VirtualHost *:80>
Redirect permanent/https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
DirectoryIndex index.html
...
</VirtualHost>
问题是这样的,我可以HTTP重定向到https正常,但是当我去https://example.com
它不重定向到https://www.example.com
任何人都可以帮助我解决这个问题吗?
答
在你<VirtualHost *:443>
部分,添加以下规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L]
这完美的作品。感谢您的协助。你能否给我提供一个关于mod_rewrite的文档,以便我能更好地理解这些规则中的方法?再次感谢。 –
@AaronCouch作为一个初学者,我建议你从以下开始:https://devdocs.io/apache_http_server/rewrite/intro此外,如果答案有帮助,请将其标记为使问题不会列出根据未经回答的问题。名单! :) – hjpotter92