1

なんらかの理由で理解できない非常に単純な質問があり、何時間もの検索でも役に立ちませんでした。.htaccess ファイルを使用して、https だけにリダイレクトし、他のページを http だけにリダイレクトするにはどうすれば/login.phpよい/index.phpですか? 現在、このコードを使用して https にリダイレクトしていますが、すべてのページをリダイレクトしています。

RewriteCond %{SERVER_PORT} !443
RewriteRule ^(.*) https://www.ruxim.com/$1 [R]  

どうもありがとうございます。

4

3 に答える 3

0

/login.php および /index.php ページのみを保護するには、次の条件を適用してください。他のページは HTTP パス (非セキュア ページ) で動作します。

RewriteEngine On
RewriteBase /
# force https for /login.php and /index.php
RewriteCond %{HTTPS} =off
RewriteRule ^(index|login)\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# don't do anything for images/css/js (leave protocol as is)
RewriteRule \.(gif|jpe?g|png|css|js)$ - [NC,L]

# force http for all other URLs
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/(index|login)\.php$
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
于 2013-04-22T09:03:44.310 に答える
0

このようなことを試してください。

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_FILENAME} =index.php [OR]
RewriteCond %{REQUEST_FILENAME} =login.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

[OR]が途中で突然遵守するかどうかは100%確信しています。

于 2013-04-17T22:41:29.147 に答える