在 godaddy 中包含规则文件以及强制 https 设置

include rule file to along with force https setting in godaddy

我在其管理面板中使用 godaddy 作为托管我有 .htaccess 文件,如下所示

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /core.php [L]
</IfModule>

我进行了如下设置以强制使用 https

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%(HTTP-HOST)%{Request-URI} [L,R=301]
</IfModule>

任何人都可以告诉我在规则中放置 core.php 的位置吗?我的 core.php 给出如下

<?php
error_reporting( E_ALL );

require_once( "ccioo/Template/class.Page.php" );
header( "Content-Type: text/html; charset=utf-8" );
if ( function_exists( "date_default_timezone_set" ) ) {
    date_default_timezone_set( "Asia/Taipei" );
}
$myPage = new Page();
$myPage->Output();
?>

更新:

所以我想要的是输入 www.myfavouriteweb.com 或 https://www.myfavouriteweb.com it should redirect to https://www.myfavouriteweb.com

您可以从 apache

使用 DirectoryIndex
DirectoryIndex = core.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%(HTTP-HOST)%{Request-URI} [L,R=301]
</IfModule>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ?original_request= [QSA,L]

在这种情况下,您可以在 core.php 中使用 $_GET["original_request"] 如果您需要原始请求

例如

https://your_site.com/something

然后在你的 core.php

<?php
    if(isset($_GET["original_request"])){
        //here your code
        echo $_GET["original_request"];
    }else{
        //if acces directly to https://your_site.com  (without 'something')
        echo "direct acces";
    }
?>

在这个例子中 something 并不真正存在于您的服务器中......它在 core.php

中处理