私はこれに対する答えを求めてStackOverflowを精査し、多くの質問が近づくのを見てきましたが、まだ何も機能していません。
.htaccess
それを呼び出すドメインに基づいて、異なるルールを適用してもらいたいのですが。基本的に、subdomain.example.comがヒットした場合は、google.comにリダイレクトします。ローカルホストがヒットした場合は、yahoo.comにリダイレクトします。www.example.com(またはexample.com)がヒットした場合は、bing.comにリダイレクトします。
後で実際の書き換えルール(環境変数とhtpasswd保護の設定)を追加しますが、最初に「ifthen」の部分を機能させる必要があります。
私の(機能していない)コードは以下のとおりです。どんな助けでも大歓迎です。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteRule http://google.com/ [L,R=301]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteRule http://yahoo.com/ [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule http://bing.com/ [L,R=301]
編集:以下のバルタのコメントに基づいて更新された(しかしまだ機能していない)コード。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? - [S=1]
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{HTTP_HOST} ^localhost$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? - [S=7]
RewriteRule ^(.*)$ /subdir/www/index.php/$1 [L]
RewriteRule ^ - [E=MYSQL_DB_HOST:localhost]
RewriteRule ^ - [E=MYSQL_DB_NAME:XXX]
RewriteRule ^ - [E=MYSQL_USERNAME:XXX]
RewriteRule ^ - [E=MYSQL_PASSWORD:XXX]
RewriteRule ^ - [E=BASE_URL:XXX]
RewriteRule ^ - [E=ENVIRONMENT:XXX]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .? - [S=1]
RewriteRule ^(.*)$ /index.php/$1 [L]