【问题标题】:Redirect test.com/* to test.com/tmp/* using .htaccess使用 .htaccess 将 test.com/* 重定向到 test.com/tmp/*
【发布时间】:2016-11-09 11:18:09
【问题描述】:

我刚刚将我的主域网站移动到一个子目录,但搜索引擎仍然在索引中列出了旧网址。直到新的 URL 被列出。

有没有办法将这些请求重定向到该子目录。 (除了 index.php)

旧网址:test.com/hello

新网址:test.com/tmp/hello

(但是这个重定向应该有一个例外,这对 test.com/index.php 不起作用)

我尝试了一些代码,但它要么重定向整个 url,要么抛出 500 错误。

谁能给点建议?

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    您可以在站点根目录 .htaccess 中使用此重定向规则:

    RedirectMatch 301 ^/(?!index\.php|tmp/)(.+)$ /tmp/$1
    

    【讨论】:

    • 感谢您的回复。但是当我添加这个时,即使test.com 也会被重定向到test.com/tmp/
    • 谢谢哥们。有效。你能解释一下这部分^/(?!index\.php|tmp/)(.+)$吗?这样我就可以进行更多修改..至于现在我的index.php页面的图像和css刚刚消失了
    • (?!index\.php|tmp/) 是否定的前瞻,如果我们在 URI 的开头有 /index.php/tmp/,则匹配失败。 (.+) 匹配 URI 中任意字符的 1 个或多个,$1 是此捕获值的反向引用。
    猜你喜欢
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2019-03-18
    • 2012-10-11
    • 2015-11-10
    相关资源
    最近更新 更多