URL文字列パラメータに基づいて異なるディレクトリからWebサイトを提供します
URL文字列パラメータに応じて2つの異なるバージョンからWebサイトを提供できるかどうかを知りたいです。
例:
- サーバーに2つのインストールがあります:
example.com/website-1/
とexample.com/website-2/
- エンドユーザーが
example.com/main/?showads=yes
アクセスした場合—> Webサイトを提供するexample.com/website-1/
- エンドユーザーがドメインに
example.com/main/
アクセスします—>からWebサイトを提供しますexample.com/website-2/
注:これはリダイレクトの質問ではありません。同じURLで提供したいだけです。
psApacheサーバーでWordPressWebサイトを実行しています。
私は、PHP、WordPress、またはApache(.htaccess
)構成を介した任意のソリューションを受け入れています。
回答
MrWhite
ルート.htaccess
ファイルの先頭で、必要な内部書き換えを実行できます。例えば:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^showads=yes$ RewriteRule ^main/$ /website-1/index.php [L]
RewriteCond %{QUERY_STRING} ^$ RewriteRule ^main/$ /website-2/index.php [L]
ユーザーが/main/?showads=yes
(正確に述べられているように)要求した場合、要求はWordPressインストールインにルーティングされ/website-1/
、ユーザーが要求した場合/main/
(正確に-クエリ文字列なし)、要求はWPインストールインにルーティングされ/website-2/
ます。(注:index.php
mod_dirにセカンダリ内部サブリクエストを発行させるのではなく、に直接書き換える必要があります。)
ただし、これはWordPressであるため、WP自体も/main/
両方のWebサイトでリクエストを受け入れるように構成する必要があります(つまり、これはWPで有効なURLである必要があります)。そうでない場合、WPは404をトリガーします。
これのWP側についてさらに支援が必要な場合は、WordPressスタックでこの質問をすることを検討してください。