【问题标题】:301 Redirect not working htaccess301重定向不起作用htaccess
【发布时间】:2013-04-06 22:07:27
【问题描述】:

我已将我的照片库更改为我的网络托管帐户的子域。

由于 google 仍在引用我图片的旧链接,我想使用 htaccess 进行 301 重定向。在 301 重定向中,我认为最好的方法是 在旧链接中搜索特定字符串的传入 URL,如果找到,则只需将照片附加到链接作为子域。

例如 传入 URL - http://www.MYDOMAIN.com/photography-...y/12345_crABCD

检查传入 URL 的字符串“photography-gallery” 如果找到,则通过将子域照片附加到 URL 来 301 重写 URL

photos.MYDOMAIN.com/photography-gallery/12345_crABCD

我也尝试了这个在 htaccess 中的重定向,如果找到字符串并且它没有做任何事情,就转到我的域

redirect 301 /photography-gallery/ http://www.MYDOMAIN.com/

有人可以帮助编写此 htaccess 重定向或重写的表达式吗?谢谢

【问题讨论】:

    标签: .htaccess mod-rewrite redirect


    【解决方案1】:

    您需要查看.htaccess Rewrites,这将允许您有条件地重定向。

    您需要随时检查 url 是否与 /photography-gallery/ 匹配,然后将其重定向到子域。

    RewriteRule ^\/photography-gallery\/([0-9a-z_A-Z]+)\/?$ http://photos.domain.com/$1 [R=301,L]
    

    以上内容应该为您完成。此外,请查看使用 Google 网站管理员工具确保路径正确重定向等。

    【讨论】:

    • 谢谢。我会试一试。我还尝试了另一种重定向方式,这似乎也有效 RedirectMatch 301 ^/photography-gallery/(.*)$ MYDOMAIN.com
    • 哇,这是一个很好的了解链接。就像学习新语言一样,这个链接就像罗塞塔石碑。谢谢
    【解决方案2】:

    如果你想将同一个 URL 重定向到另一个域,你可以使用这个简单的RewriteRule

    RewriteEngine on
    RewriteRule ^photography-gallery/.*$ http://photos.mydomain.com/$0 [R,L]
    

    当一切正常时,您可以将R 更改为R=301。

    切勿在启用301 的情况下进行测试,有关详细信息,请参阅此答案Tips for debugging .htaccess rewrite rules。

    【讨论】:

    • 好的,我尝试了给定的 2 个代码,但它们都不起作用。然后我做了一些小的调整并再次尝试,它仍然没有正确重定向。特殊字符#,!在原始 URL 中会弄乱重定向?这是我在 RewriteRule ^/Photo-Gallery/(.+)$ photos.MYDMAIN.com/$1 [R=301,L] 上调整并使用 RewriteEngine 的代码我尝试了这个原始 URL 到我的画廊 MYDOMAIN.com/XYZ/ABC/…,它在 URL 和转到我的主页而不是正确的链接MYDOMAIN.com/#!i=2399742179&k=MbKVDWq
    • @user2280480 请复制我写的规则。规则模式中有 no 前导斜杠。请不要使用R=301,除非规则按应有的方式发挥作用。
    猜你喜欢
    • 2017-06-30
    • 2014-07-05
    • 2014-12-21
    • 2011-03-08
    • 2013-03-14
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多