【问题标题】:301 redirect domain/page to subdomain.domain/page301 将域/页面重定向到 subdomain.domain/page
【发布时间】:2013-12-14 00:47:09
【问题描述】:

我在 google blogger 上有一个博客,我最近转移到了一个子域并在 godaddy 进行了虚拟主机。

现在我所有的旧索引页面都给出了 404 not found 错误。 我想将所有这些重定向到 subdomain.domain.com/...

所有页面都位于 www.indiaartndesign.com/20(something)/(something) 我想将它们重定向到 inditerrain.indiaartndesign.com/20(something)/(something)

我目前的 301 规则如下,但它似乎不起作用

RewriteCond %{HTTP_HOST} ^www\.indiaartndesign\.com$
RewriteRule ^2\(\.\*\)$ "http\:\/\/inditerrain\.indiaartndesign\.com\/" [R=301,L]

非常感谢您的帮助。

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    我建议阅读the documentation

    您当前正在转义 RewriteRule 的第一个参数中的特殊字符,实际上 应该 是特殊的。你不应该这样做。第二个参数只是一个字符串,而不是正则表达式,因此您也不应该转义正则表达式中的特殊字符,因为该字符串中没有特殊字符。您可以在重写的 url 中使用 $1$9 让它被 RewriteRule 第一个参数的正则表达式中的第 1 到第 9 个捕获组替换。同样,有关此的更多信息在文档中。

    你最终会得到以下规则:

    RewriteCond %{HTTP_HOST} ^www\.indiaartndesign\.com$
    RewriteRule ^(20.*)$ http://inditerrain.indiaartndesign.com/$1 [R,L]
    

    【讨论】:

    • 非常感谢...完美运行...除了阅读文档之外还有其他更简单的学习方法...比如一些视频教程之类的吗?
    • 您可以通过谷歌搜索示例 .htaccess 文件以获取指导。学习正则表达式的最好方法是尝试一下。 Apache 使用类似 Perl 的正则表达式引擎,因此您可以使用任何具有 preg-regex 引擎的在线工具。我不知道有任何视频教程,老实说,我不认为通过视频教学是最好的。
    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 2014-09-23
    • 2021-04-10
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多