私はmodの書き換えをかなり新しくしています。プライベートフォーラムユーザーのために次のことを達成しようとしています。ブラウザはフォーラムに行くと、ユーザーがログインしていないときにhtaccess subdirからrootへのリダイレクトをパラメータとして参照者を渡します
https://www.example.com/community/index.php?/topic/this-is-the-topic
フォーラムは{QUERY_STRING}
に/login/
を注入:民間フォーラムは、サイトのサブディレクトリにcommunity
ユーザーが電子メールのリンクをクリックすると呼ばれていますURLには表示されず、Webサイトのログインページが表示されます。これは、ユーザーが必要なRewriteRuleに関連してログインしているかどうかを確認する唯一の方法です。
URLは、ログインページに到達したときに、このように見える必要があります:
https://www.example.com/login.php?redirect_to=https://www.example.com/community/index.php?/topic/this-is-the-topic
私がしようとしたことは次のとおりです。
私は、この取得RewriteCond %{QUERY_STRING} /login/(.*)$ [NC]
RewriteRule ^(.*)$ https://www.example.com/login.php?redirect_to=%{REQUEST_URI} [L,R=301]
:
https://www.example.com/login.php?redirect_to=/community/index.php
を疑問符の後に他のすべてがありません...
私はのRewriteRuleに{REQUEST_URI}
後%{QUERY_STRING}
を追加する場合は、その後login
が{QUERY_STRING}
に/community
後に注射し、その後&ref=
された電子メールから元の参照URLのBase64でエンコードされたバージョンが含まれていることがわかります。
UPDATE:
コミュニティはコミュニティのサブディレクトリ の民間フォーラムで、2つの.htaccessファイルのルートに1つ、コミュニティDIR自己の他があります。
私たちは必ずすべてのHTTPトラフィックはHTTPSルートの.htaccessファイル
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS_HOST} !^tribe.mytechnologybusiness.com$ [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://tribe.mytechnologybusiness.com/$1 [L,R=301]
# End Replacement
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN MainWP
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^wp-content/plugins/mainwp-child/(.*)$ /wp-content/plugins/THIS_PLUGIN_DOES_NOT_EXIST [QSA,L]
</IfModule>
# END MainWP
コミュニティ.htaccessファイル
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
############################################
# WordPress to IPBoard Integration
# Start Board to Wordpress Redirect Area
############################################
RewriteEngine on
# Registration
RewriteCond %{QUERY_STRING} /register/(.*)$ [NC]
RewriteRule (.*) https://tribe.mytechnologybusiness.com/wp-login.php?action=register [L,R=301]
# Logout
RewriteCond %{QUERY_STRING} /logout/(.*)$ [NC]
RewriteRule (.*) https://tribe.mytechnologybusiness.com/wp-login.php?action=logout [L,NE,R=301]
# Login
RewriteCond %{QUERY_STRING} /login/(.*)$ [NC]
RewriteRule ^(.*)$ https://tribe.mytechnologybusiness.com/wp-login.php?redirect_to=%{REQUEST_URI} [L,R=301]
############################################
# End Board to Wordpress Redirect Area
############################################
と私はこれをテストするために使用しようとしていますURLは
https://tribe.mytechnologybusiness.com/community/index.php?/topic/162-sydney-tribal-meetup-thursday-14th-september-2017/
で誰がこれで私を助けることができますか?あなたの/community/.htaccess
に最初のルールとしてこのルールを使用することができます
乾杯、
感謝。それは私のために働かなかった...私はファイルに他のルールがあります。いくつかはWordPressなどからhttpをhttpsリダイレクトに強制するものです。コミュニティディレクトリにも独自のhtaccessファイルがあります。 2つのファイルの詳細とコピーを送信する方法はありますか? –
あなたが提案したように試みましたが、まだ行っていません。だから私はあなたが言ったすべての情報で質問を更新しました。すべてのあなたの助けをありがとう。 –
新しいルールをどこに置いても、トリガされたルールは '/ community/.htaccess'の下部にある' Login'ルールです。 –