Apache httpd - 将非www&http重定向到https:// www
问题描述:
我正在寻找将所有流量指向https://www.domain.co.uk。所以无论何时需要http://www.domain.co.uk,http://domain.co.uk或甚至https://domain.co.uk,它都会被重定向到https://www.domain.co.uk。Apache httpd - 将非www&http重定向到https:// www
我在使用httpd.conf中的虚拟主机尝试实现这一点时遇到了困难。我曾尝试以下(以及许多其他变化。
<VirtualHost *:80>
ServerName domain.co.uk
ServerAlias domain.co.uk
Redirect/https://www.domain.co.uk
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName domain.co.uk
ServerAlias www.domain.co.uk
DirectoryIndex index.html
DocumentRoot /var/www/html/domain.co.uk
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/www.domain.co.uk.crt
SSLCertificateKeyFile /etc/httpd/ssl/www.domain.co.uk.key
SSLCertificateChainFile /etc/httpd/ssl/www.domain.co.uk-geotrust.crt
<Directory /var/www/html/domain.co.uk>
Options FollowSymLinks
AllowOverride all
Allow from all
</Directory>
DocumentRoot /var/www/html/domain.co.uk
ServerName domain.co.uk
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName domain.co.uk
ServerAlias *.domain.co.uk
<Directory /var/www/html/domain.co.uk>
Options FollowSymLinks
AllowOverride all
Allow from all
</Directory>
DocumentRoot /var/www/html/domain.co.uk
</VirtualHost>
使用上述设置,当我去http://domain.co.uk我得到一个403禁止响应。此外,参观https://domain.co.uk时,它并不会因此重定向和我得到一个隐私错误在Chrome
如果你能帮助我实现我的目标,我将非常感激
谢谢
答
可以在/var/www/html/domain.co.uk/.htaccess
创建此规则:。
RewriteEngine On
RewriteBase/
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule^https://www.domain.co.uk%{REQUEST_URI} [R=301,L,NE]