1

私はphpCodeIgniterを使用しており、.htaccessファイルに次の書き換えルールがあります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

ユーザーにSSL経由でサイトを使用してもらいたいので、次の書き換えルールを追加したいと思います。

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.link.com/$1 [R,L]

ただし、これを行うと、サブディレクトリ内のすべてのページに/index.php/actual_pageが含まれるようになります。その前のindex.phpは望ましくありません。それはそこにあることから来るのではないかと思いRewriteRule ^(.*)$ index.php/$1 [L]ましたが、それがなくても問題なく動作します。RewriteRule ^(.*)$ https://www.link.com/$1 [R,L]

では、最初の書き換えを中断せずにURLをhttpsに書き換えるにはどうすればよいですか?

4

1 に答える 1

1

index.phpに書き換える前に、httpsリダイレクトが発生することを確認してください。あなたはそれをこのように見せたいです:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.link.com/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
于 2012-08-29T21:30:26.233 に答える