.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 如何仅将子域/文件夹重定向到子域的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 重定向影响子域

htaccess 将根目录重定向到子文件夹

使用.htaccess将域重定向到子文件夹

.htaccess重定向到子文件夹(即公用文件夹)

.htaccess - 将子域重定向到文件夹

.htaccess 重定向到子域