0

私はネットを検索し、ここ数時間、ほとんどのことを試しましたが、結果はありませんでした。

私はCodeIgniterを使用しており、私がいくつかのルールを持っているHtaccessファイル。

SSL接続を強制し、URLからindex.phpを削除したい。

これが私の.Htaccessです

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /

    # Force SSL
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

    #remove ugly index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin
    ErrorDocument 404 /index.php
</IfModule> 
Options All -Indexes

問題はそれが機能しないことです。www.lotusmodellen.seに証明書をインストールしており、すべてのトラフィックはそこに移動する必要があります。lotusmodellen.seではありません

そのようなhttp://www.lotusmodellen.seまたはhttp://lotusmodellen.seにアクセスしてみてください

httpsの有無にかかわらず、何を書いても、www.lotusmodellen.seにアクセスする必要があります。

しかし、それは問題、リダイレクトエラーなどのようです。それは機能しないからです。

誰かが解決策を持っていますか?

4

1 に答える 1

0

こんにちは、config.php ファイルの base_url を置き換えるだけです。これにより、https または http からの要求がチェックされ、それに応じて base_url が設定されます。

if(isset($_SERVER['HTTP_HOST']))
{
    $config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
    $config['base_url'] .= '://'. $_SERVER['HTTP_HOST'];
    $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}

else
{
    $config['base_url'] = 'http://localhost/';
}
于 2012-07-15T06:17:37.417 に答える