【问题标题】:Redirecting subdomain to subdirectory through htaccess通过htaccess将子域重定向到子目录
【发布时间】:2016-09-24 10:32:27
【问题描述】:

我一直在尝试通过 htacess 将子域重定向到子目录..

我有一个域名sub.domain.com 和目录domain.com/site/ 我想将 sub.domain.com 重定向到 domain.com/site 而不更改任何 url,只需以 SEO 友好的方式重定向。

我尝试了重定向 301 规则,但它似乎不起作用。

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    在你的 .htaccess 中试试这个:

    RedirectMatch 301 wiki.comp.tf(.*) comp.tf/wiki$1
    

    如果这不起作用,另一种选择是:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^wiki.comp.tf
    RewriteRule ^(.*)$ http://comp.tf/wiki$1 [L,NC,QSA]
    

    使用真实姓名的一些潜在选择:

    Redirect 301 wiki.comp.tf comp.tf/wiki
    

    【讨论】:

    • 谢谢,正如我上面所说的,我已经尝试了你的和starkeen的解决方案,但它仍然在子域上显示相同的错误“找不到服务器DNS地址。”
    • 实际的域和目录是什么?
    • wiki.comp.tf 是我要重定向到 comp.tf/wiki 的子域,我已经更改了您和starkeen 代码中的那些显然以匹配我的域,但我没有成功.想知道这是否与我的 VestaCP 设置有关,但我已经完成了 3 次,没有发现任何问题
    • 我现在用正确的名称更新了我以前的选项,以防万一。我还添加了另一个简单的 301 重定向。
    • 成功了!谢谢,显然我认为我也忘记在 cloudflare 上正确设置它并且没有给它足够的时间来传播 dns 更改,所以我认为这是主要问题。
    【解决方案2】:

    您可以使用以下规则:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC]
    RewriteRule ^(.*)$ /site/$1 [L]
    

    这将在内部重定向

    • sub.domain.com

    • /网站/

    【讨论】:

    • 我应该把它放在主域的 htaccess 还是子域的 htaccess 上,因为我在 VPS 上使用 VestaCP,它会自动为每个创建的域/子域创建不同的目录。如果我必须把它放在主htaccess上,我应该怎么处理子域目录的htaccess?
    • 您可以在子域/.htaccess 中使用它。
    • 谢谢,我已经尝试了你和thickguru的解决方案,但它仍然在子域上显示相同的错误“找不到服务器DNS地址。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多