【问题标题】:htaccess redirect - I need to redirect subfolder to subdomainhtaccess 重定向 - 我需要将子文件夹重定向到子域
【发布时间】:2015-04-21 14:48:12
【问题描述】:

我需要使用 htaccess 将子文件夹重定向到子域

例如:

重定向 www.example.com/test(还有 http://、https://、http://wwwhttps://www) 到 https://user.example.com

我该怎么做?

另外,如果我需要将其重定向到https://user.example.com/test,应该如何处理

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    您可以将此代码放在您的 htaccess 中(必须在根文件夹中)

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
    RewriteRule ^test/?$ https://user.example.com/test [R=301,L]
    

    如果还没有完成,请不要忘记启用 mod_rewrite

    【讨论】:

    • 谢谢。有用!如果我们还需要满足从 example.com/test 到 user.example.com/test 的重定向,我们如何修改它?
    • 您要问的是这段代码的作用。我误解了你的问题吗?
    • 如果我们输入 example.com/test 到user.example.com/test,它不会重定向(这意味着如果我们前面没有 http、https 或 www,它不会重定向)跨度>
    • 我认为您的问题来自您的域配置错误。我猜www.example.comexample.com 不共享同一个文档根文件夹(这就是为什么您在example.com 下时不执行您的规则)
    【解决方案2】:

    Look at original answer at

    您可以为 blog.example.com 做一些不同的事情吗?

    如果可以的话,把你的重定向配置放在那里:

    <VirtualHost *:80>
        ServerName blog.example.com
        Redirect / http://example.com/blog/
    </VirtualHost>
    

    如果由于某种原因您仍需要搭载其他虚拟主机,或者需要处理所有子域而不仅仅是“博客”,则使用 mod_rewrite:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$
    RewriteRule ^/(.*)$ http://example.com/%1/$1 [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 2012-11-23
      • 2013-11-08
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 2011-10-14
      • 2012-01-09
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多