【问题标题】:.htaccess redirect to subdomain.htaccess 重定向到子域
【发布时间】:2012-03-09 04:51:20
【问题描述】:

我正在准备设置场景,如果有人访问 website.com/blog/,他们将被重定向到 blog.website.com

我以前在我的 .htaccess 文件中使用此代码来实现其他一些重定向(从 .net 到 .com):

Options +FollowSymLinks
RewriteEngine on  
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC]  
RewriteRule (.*) http://www.website.com/$1 [R=301,L]

我的 apache 配置文件中有一个 ErrorDocument 404 也可能是相关的。

为了解决我的问题,我尝试了这个:

Options +FollowSymLinks
RewriteEngine on  
RewriteCond %{HTTP_HOST} ^(www.|blog.)?website.net(.*) [NC]  
RewriteRule (.*) http://www.website.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(www.)?website(.com|.net)/blog/?$ [NC]
RewriteRule (.*) http://blog.website.com/ [L]

但是,此代码不起作用。我的错误文档仍在处理请求(/blog/ 目录不存在)。我尝试将这个新代码移到 apache conf 文件中的 ErrorDocument 上方,但发生了同样的事情。

这无疑是一个语法错误,任何帮助将不胜感激:)

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    在您的 website.com 目录根目录下的 .htaccess 文件中

    RewriteEngine on
    RewriteBase / 
    
    RedirectMatch 301 ^/blog/(.*)$ http://blog.website.com/$1
    

    【讨论】:

      【解决方案2】:

      尝试将以下内容添加到您的webiste.com 站点根目录下的.htaccess 文件中。

      RewriteEngine on
      RewriteBase / 
      
      #if not already blog.website.com
      RewriteCond %{HTTP_HOST} !^blog\.website\.com$ [NC] 
      #if request is for blog/, go to blog.website.com
      RewriteRule ^blog/$ http://blog.website.com [L,NC,R=301] 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-29
        • 2010-11-22
        • 2011-08-27
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        相关资源
        最近更新 更多