web-dev-qa-db-ja.com

htaccessの書き換えがワードプレスのルールとsslと競合する

これにはバグがあります。SSLを非SSLページにリダイレクトするための以下のhtaccessルールがあります。この規則から特定のワードプレスの要求を除外したい場合を除き、これは問題なく動作します。たとえば、 https://mysite.com/info/ です。私は以下を試しました:

#rewrite all ssl pages to non-ssl for everything that doesn't have /info/ in the request uri 
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI} [R=301,QSA,L]

#wordpress
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

結果は、 https://mysite.com/info/ にリダイレクトされます。 http://mysite.com代わりに/ を使用してください。 wordpressの書き換え規則を無効にしても、上記の規則はうまくいきます。誰かが書き換え条件でかわいいURLをターゲットにする適切な方法を提案できますか?

4
elleeott

既存のコードを編集して、index.phpをこのようにリダイレクトしないようにします。

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI} [R=301,QSA,L]

説明については、Stackoverflowでこの質問の答えを確認してください。 1つを除くすべてのページをHTTPSにリダイレクトする問題

3
jetlej