1

すべてのトラフィックをルートドメインにリダイレクトしたいのですが、ルートドメインはスプラッシュ画面です。これは、%{HTTP_HOST}がbeta.example。(com | es | fr)でない場合にのみ実行したいと思います。

だから私は.htaccessファイルで次のことを試しましたが運がありません...(無限ループ... REQUEST_URI条件を取得していないと思いますが、理由がわかりません??ほとんどすべてを試しました)

RewriteCond %{HTTP_HOST} !^beta\.example\.com$
RewriteCond %{HTTP_HOST} !^beta\.example\.es$
RewriteCond %{HTTP_HOST} !^beta\.example\.fr$
RewriteCond %{REQUEST_URI} !^/?$
RewriteRule ^.*$ / [NC,L,R=302]

その時点で、「ベータ」サブドメイン以外のすべてのトラフィックをルートドメインにリダイレクトする必要があります。そこで、.htaccessファイルに従って、スプラッシュ画面でルートドメインを「バックステージ」に書き換えたいと思います。

RewriteCond %{HTTP_HOST} !^beta\.example\.com$
RewriteCond %{HTTP_HOST} !^beta\.example\.es$
RewriteCond %{HTTP_HOST} !^beta\.example\.fr$
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ splash.phtml [NC,L]

注:私はZend Frameworkを使用しているため、これらのルールは.htaccessファイルで次のようになります。

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

私は立ち往生していると言わなければなりません。

事前にt​​hx

4

1 に答える 1

0

@bsagols

Zendからのこの行は、確かにあなたを台無しにするでしょう。

RewriteRule ^.*$ index.php [NC,L]

すべてのZendのものの上ではないにしても、これの上にディレクティブを配置する必要があります。私があなたを正しく理解しているなら、これを試してください:

RewriteCond "%{HTTP_HOST}"   "!^beta\.example\.(com|es|fr)$"    [NC]
RewriteCond "%{REQUEST_URI}" "!\.(js|ico|txt|gif|jpg|png|css)$" [NC]
RewriteRule ".*"              "/splash.phtml"                   [R=302,L]
于 2011-02-04T18:20:45.343 に答える