【发布时间】:2014-07-02 10:29:38
【问题描述】:
我只需要将另一个域上的 /login 页面重定向到我的主域。
然而,我目前拥有的东西会导致重定向过多。
我错过了什么?
.htaccess:
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^otherdomain.com$ [NC]
# RewriteRule ^login https://www.domain.com/login [R=301,L] GIVES TOO MANY REDIRECTS
RewriteRule ^(.*)$ http://www.otherdomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteCond %{HTTPS} !=on
RewriteRule ^/? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [L,QSA]
【问题讨论】:
-
/login/是目录吗? -
@anubhava 不,没有目录。
-
取消注释
/login规则,然后打开 Firebug 并访问http://otherdomain.com/login页面以查看发生了多少重定向 -
@anubhava 在 Firefox 切断无限循环之前大约有 21 次重定向。
-
好的,但是这些重定向是什么?他们是否来回重定向到
http://otherdomain.com/login和http://domain.com/login?
标签: php apache .htaccess mod-rewrite redirect