.htaccess 如何仅将子域/文件夹重定向到子域

Posted

技术标签:

【中文标题】.htaccess 如何仅将子域/文件夹重定向到子域【英文标题】:.htaccess how to redirect subdomain/folder to subdomain only 【发布时间】:2013-12-03 02:50:33 【问题描述】:

我试图在不同的地方找到答案,但我找不到完整的解决方案。

我为博客设置了一个文件夹。现在我们转到子域设置。下面显示的重定向完美无缺。唯一不起作用的是当 url 是与文件夹结合的子域时。没有重定向。

RewriteCond %HTTP_HOST ^(www\.)domain\.com$
RewriteRule ^blog/(.*)$ http://blog.domain.com/$1 [L,R=301,QSA]

RewriteCond %HTTP_HOST ^blog\.domain\.com$
RewriteCond %REQUEST_URI !blog/
RewriteRule ^(.*)$ blog/$1 [L,QSA]

www.domain.com/blog/some-url-here 被重定向到 blog.domain.com/some-url-here

当我尝试 blog.domain.com/blog/some-url-here 时,它​​返回 200 的 http-status,当我尝试重定向时,我得到一个不定式循环。

是否有我错过的重定向?

【问题讨论】:

【参考方案1】:

在您的其他规则之上尝试这些规则:

RewriteCond %THE_REQUEST \s/blog/([^\s]*) [NC]
RewriteRule ^ http://blog.domain.com/%1 [L,R=301]

RewriteCond %HTTP_HOST ^blog\.domain\.com$
RewriteRule !^blog/ blog%REQUEST_URI [L,NC]

【讨论】:

完美!正是我想要的。谢谢!

以上是关于.htaccess 如何仅将子域/文件夹重定向到子域的主要内容,如果未能解决你的问题,请参考以下文章