Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 是否重定向到站点的https版本?_.htaccess_Redirect_Mod Rewrite_Https_Http Redirect - Fatal编程技术网

.htaccess 是否重定向到站点的https版本?

.htaccess 是否重定向到站点的https版本?,.htaccess,redirect,mod-rewrite,https,http-redirect,.htaccess,Redirect,Mod Rewrite,Https,Http Redirect,我如何保持index.php文件的逻辑,但从http重定向到站点的https版本 我的.htaccess AddDefaultCharset utf8 ErrorDocument 404 /404.php <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRu

我如何保持
index.php
文件的逻辑,但从
http
重定向到站点的
https
版本

我的.htaccess

AddDefaultCharset utf8

ErrorDocument 404 /404.php

<IfModule mod_rewrite.c>
    RewriteEngine On

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

    RewriteRule ^(.*)$ ./index.php?route=$1 [QSA,L]
</IfModule>
AddDefaultCharset utf8
ErrorDocument 404/404.php
重新启动发动机
重写cond%{SCRIPT_FILENAME}-D
重写cond%{SCRIPT_FILENAME}-F
重写规则^(.*)./index.php?路由=$1[QSA,L]

在现有的内部重写之前,只需先执行HTTP到HTTPS的重定向

例如:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # HTTP to HTTPS redirect
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # Internal rewrite
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule (.*) index.php?route=$1 [QSA,L]
</IfModule>

重新启动发动机
#HTTP到HTTPS重定向
重写条件%{HTTPS}关闭
重写规则^https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]
#内部重写
重写cond%{SCRIPT_FILENAME}-D
重写cond%{SCRIPT_FILENAME}-F
重写规则(.*)index.php?路由=$1[QSA,L]
我删除了
重写规则
替换字符串上的
/
前缀。这不是必需的 (在这种情况下没有真正意义)并将由操作系统解决

此外,考虑删除<代码> <代码>包装器-这里不需要,除非您的代码被移植到多个服务器上,在那里MODYRead可能无法启用,并且您的站点预期没有它工作(尽管这似乎不太可能)。有关这方面的更多信息,请参阅网站管理员堆栈上的以下问题: