将https // example.com重定向到https://www.example.com --opencart v 2.2.0.0

时间:2016-07-14 17:08:21

标签: apache .htaccess opencart2.x

所有情况都可以正常工作,除非将https // example.com重定向到https://www.example.com它保持不变https://example.com

我在这个论坛上尝试了大部分解决方案,但没有为我工作 - 我的证书适用于" www.example.com"和example.com域名。 - 我修改了url.php的修复程序

-htaccess :(我确实尝试过不同的解决方案)

RewriteEngine On

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

管理员/ config.php中

// HTTP
define('HTTP_SERVER', 'https://www.example.com/admin/');
define('HTTP_CATALOG', 'https://www.example.com/');

// HTTPS
define('HTTPS_SERVER', 'https://www.example.com/admin/');
define('HTTPS_CATALOG', 'https://www.example.com/');

的config.php

// HTTP
define('HTTP_SERVER', 'https://www.example.com/');

// HTTPS
define('HTTPS_SERVER', 'https://www.example.com/');

000-default.conf

<VirtualHost *:80>

    ServerAdmin admin@example.com
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下代码会将yourdomain.com的所有请求重定向到www.yourdomain.com。这可以通过在public_html文件夹中的.htaccess文件的开头添加以下行来完成:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]

请检查 - reference

希望这会对你有所帮助。