0

私は htacess と modrewrite についてあまり詳しくないので、この新しいゾーンに自分自身が近づこうとすると、さらに別の窮地に立たされていることに気づきます。

お問い合わせを 2 つの異なる質問に分けて、回答をトピックに沿ったものにし、自分自身の質問に対する解決策を探しているユーザーに的を絞って回答できるようにします。

最初に、簡単なはずですが、おそらく見落としているものから始めましょう。

RewriteCond %{http_host} ^domain.com.au [nc]
RewriteRule ^(.*)$ https://www.domain.com.au/$1 [R=301,NC]

見ての通り欲しいwww URL では、php スクリプトを使用して https も強制しますが、これを使用して両方を処理する方がよいと考えたため、ユーザーは 2 回の転送が発生するのを待つ必要がありません。

上記のコードは正常に動作しているように見えますが、ドメインのルートに移動します。

http://domain.com/index.php?page=hello
http://domain.com/dir/index.php?page=hello
http://domain.com/dir17/sub/index.php?page=hello

上記の 3 つの URL はすべてhttps://www.domain.com/index.php?page=helloにリダイレクトされます。

明らかにそれは modrewrite のディレクトリの深さに関係していますが、単にルートに戻すのではなく、各ディレクトリにローカルに適用する方法がわかりません。

このウェブサイトの素晴らしい人々のグループ、いつものようにあなたの助けに感謝します:)

4

1 に答える 1

0

これは少し遅れていますが、回答が投稿されていないことに気付きました。ただし、十分な調査を行った後、解決しました。

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

これが他の誰かに役立つことを願っています。

于 2015-05-30T12:54:42.773 に答える