2012-02-16 1 views
0

に「ページが見つかりません」で書き換え規則は、私はまた、自己署名SSL証明書インストールし、PHPのいくつかのページを持って、私は自分のサイトに以下のような複数の書き換えルールがあります。httpsページ

^product/([0-9a-zA-Z]+)/([0-9a-zA-Z]+)$ /index.php?action=product&category=$1&type=$2 

を終わりますhttpsにリダイレクトされます。このようなhttpsページにアクセスして上記の書き換えルールに一致するリンクをクリックすると、「見つかりません」というエラーページが表示されます。

すべての書き換えルールをhttpsではなくhttpに対して相対的に読むべきですか?

EDIT: 私は下の書き換えルールのコピーを追加することによって、それを整理:あなたのApacheが標準ポート上でHTTPSを提供しています、あなたがルールの前に、条件を追加したと仮定すると443仮想ホスト

答えて

0

を:

RewriteCond %{SERVER_PORT} =443 
RewriteRule ... 

EDIT:別の変数があります、(あまりにも、それはdocumentationにあります)あなたがチェックすることができ:

HTTPS

SSL/TLSを使用している場合は「オン」、そうでない場合は「オフ」の文字列が含まれます。 (この変数は、mod_sslがロードされているかどうかにかかわらず、安全に使用できます)。

だから、これはポートSSLが配信さにかかわらず、その上、良いはずです:

RewriteCond %{HTTPS} =off 
RewriteRule ... 
+0

どちらのRewriteCond%{を見てくださいHTTPS} =オフでもRewriteCond%{SERVER_PORT} = 443ヘルプでもありません。私はまだ[https]:// product/jewellery/rings –

+0

Hmのようにヒットすると「見つからない」ということになります。次に、ルールセット全体を投稿する必要があります。何か間違っているかもしれません。 –

関連する問題