.htaccess 尝试根据 HTTP_HOST 重定向时出现过多重定向错误

.htaccess 尝试根据 HTTP_HOST 重定向时出现过多重定向错误

我有两个不同的域指向我的服务器。

其中一个我使用它来重定向到我的投资组合网页。因此,如果我通过第二个域名访问,我希望被重定向到我的 Apache 服务器上的另一个文件夹。

我尝试过各种解决方案,但总是以 ERR_TOO_MANY_REDIRECTS 结束。这是我尝试过的最后两个解决方案:

RewriteEngine On

Options -Indexes

# My first try, using IF statement
#<If "%{HTTP_HOST} == 'hugonavarropadreyhermano.com' && %{REQUEST_URI} != 'benvingut'">
#       RewriteRule ^ http://hugonavarropadreyhermano.com/benvingut [L]
#</If>

# My second try, using RewriteCond
#RewriteCond %{HTTP_HOST} hugonavarropadreyhermano.com$
#RewriteRule ^ http://hugonavarropadreyhermano.com/benvingut [L]

# Actual redirect for the main domain
RedirectMatch ^/$ /welcome/
RedirectMatch ^/index\.html(.*) /welcome/index.html$1

继续,如果我访问http://hugonavarropadreyhermano.com我希望重定向至“http://hugonavarropadreyhermano.com/benvingut

答案1

您的 rewritecond 是一个字符串比较,$ 太多了

# My second try, using RewriteCond
RewriteCond %{HTTP_HOST} hugonavarropadreyhermano.com
RewriteRule ^ http://hugonavarropadreyhermano.com/benvingut [L]

答案2

解决方案不是应用不同的重写规则,而是使用 Apache 文档中指定的 VirtualHosts(在此处输入链接描述):

您的服务器有多个可解析为单个地址的主机名,并且您希望对 www.example.com 和 www.example.org 做出不同的响应。

只要按照以下说明操作就很简单:

相关内容