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]

那时,我应该将所有流量,但“beta”子域重定向到根域。所以现在我想用我的启动屏幕重写“后台”根域,在 .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 框架,所以这些规则在 .htaccess 文件中:

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

我必须说,我被困住了。

提前谢谢

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 回答