【问题标题】:301 redirect subdomain to another domain with htaccess301 使用 htaccess 将子域重定向到另一个域
【发布时间】:2013-10-03 07:29:27
【问题描述】:

我想用 htaccess 将一个子域 301 重定向到另一个域。

我想要:

A: www.subdomain.domain1.se
B: subdomain.domain1.se
C: subdomain.domain1.se/anything/anything.anything#anything?anything

重定向到:

A: www.domain2.se
B: www.domain2.se
C: www..domain2.se/anything/anything.anything#anything?anything

我还需要知道将文件放在哪里(在子域目录或根目录中)。如果可能的话,最好将 htaccess 文件放在子域 d 目录中。

我试过这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^c\.domain1\.se$ [NC]
RewriteRule ^(.*)$ http://www.domain2.se/$1 [QSA,R=301,L]

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    我认为你在代码中弄乱了 RewriteBase /

    常规重定向 301 是这样工作的

    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)$ http://domain2.com/$1 [L,R=301,NC]
    

    【讨论】:

    • 感谢您的分析 :)
    【解决方案2】:

    启用mod_rewrite.htaccesshttpd.conf,然后将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} subdomain\.domain1\.se$ [NC]
    RewriteRule ^ http://www.domain2.se%{REQUEST_URI} [R=301,L,NE]
    

    参考:Apache mod_rewrite Introduction

    但请注意,哈希后的 URL 部分不会发送到 Web 服务器,因此 Apache mod_rewrite 无法处理。

    【讨论】:

    • 谢谢。但我仍然希望 www.domain1.se 和 domain1.se 的任何其他子域能够正常工作。我有权访问的 htaccess 文件位于“/public_html/c.domain1.se/”中。有什么想法吗?
    • A 和 B 有效,但对于 C,我得到“subdomain.domain1.se/kontakt -> 您无权访问此服务器上的 /kontakt。”有任何想法吗?谢谢阿努巴瓦!
    • 根据这些规则,subdomain.domain1.se/kontakt 应该在您的浏览器中变为www.domain2.se/kontakt。这不是发生了吗?
    • 不,我收到错误消息“禁止您无权访问此服务器上的 /kontakt。”有什么想法吗?
    • 您的系统中是否有此 .htaccess 或任何其他 .htaccess 中的任何其他代码?
    猜你喜欢
    • 2013-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2015-12-15
    • 2014-03-16
    相关资源
    最近更新 更多