如何重定向到WWW非www HTTPS?(How to redirect www to non-ww

2019-09-29 05:13发布

我已经安装在我的域HTTPS。 而这一切的情况下,可用我的网站:

http://example.com        // will be redirected to https://example.com
https://example.com
http://www.example.com    // will be redirected to https://www.example.com
https://www.example.com

看到? 一切都将使用https协议。 所有罚款。


现在我需要的所有重定向wwwnon-www 。 所以http://www.example.comhttps://www.example.com应该被重定向到https://example.com (换言之,所有的情况下应该被重定向到这一点)。

这是我当前的代码/etc/apache2/sites-avalible/000-default.conf

<VirtualHost *:80>
.
.
.
RewriteEngine on
RewriteCond %{SERVER_NAME} =lamtakam.com [OR]
RewriteCond %{SERVER_NAME} =www.lamtakam.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]               -- this
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]              -- and this are for www redirection
                                                        -- but doesn't work
</VirtualHost>

任何想法?

也lamtakam是我说的,如果你需要检查的东西我确切域。


编辑:

目前我有这里面.htaccess在我的项目的根文件:

RewriteEngine on

Options -Indexes

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# this doesn't work on some version of xampp
# RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

RewriteRule ^([\s\S]*)$ index.php?rt=$1 [L,B,QSA]

ErrorDocument 404 /error404.html

Answer 1:

如果你想在规则的VirtualHost那么这将是2组规则。 如果你能保持规则站点根目录的.htaccess那么这将是一个规则。 我在这里提供的.htaccess规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

请确保您删除中显示您的现有规则VirtualHost上面,你在一个新的浏览器,以避免旧的浏览器缓存测试。



文章来源: How to redirect www to non-www https?