【问题标题】:Redirecting old site / subfolders to new site / subfolders将旧站点/子文件夹重定向到新站点/子文件夹
【发布时间】:2015-11-22 14:02:30
【问题描述】:

我正在尝试编写一些重定向,但偶然发现了重定向文件夹的最后一步。

我有一个具有以下结构的旧网站,

example.com
example.com/example
example.com/example/example
example.com/example/example

(域名example.com被停放并重定向到该站点)

还有一个新网站(域名未停放),

examples.com
examples.com/examples/new
examples.com/examples/examples/updated
examples.com/examples/examples/sample

在原始站点上使用传统的 301,如下所示,只需重定向到 root

redirect 301 /example/ http:www.examples.com/examples/new/

它不会指向正确的子文件夹

在短期内,我使用以下内容将所有链接重定向到根(在旧服务器上),但最好将它们全部推送到它们的确切位置

RedirectMatch 301 ^/example/.*$ http://www.examples.com/

我显然缺少一些简单的东西,所以任何建议都值得赞赏。

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    试试这个:

    RedirectMatch 301 /example(.*) http://examples.com/examples/new/$1
    RedirectMatch 301 /example/example(.*) http://examples.com/examples/examples/$1
    

    示例 #1:http://oldsite.com/example/XXXX 应重定向到 http://newsite.com/examples/new/XXXX

    示例 #2:http://oldsite.com/example/example/UPDATE 应重定向到 http://newsite.com/examples/examples/UPDATE

    好的,如果上面的那些不起作用..试试这个..

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} oldsite\.com [NC]
    RewriteRule ^example/?$ http://newsite.com/examples/new [R=301,L]
    </IfModule>
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} oldsite\.com [NC]
    RewriteRule ^example/example/([^/]+)/?$ http://newsite.com/examples/examples/$1 [R=301,L]
    </IfModule>
    

    【讨论】:

    • 非常感谢您的建议,但仍然只是直接将我转储到根目录
    • 你的 htaccess 文件上面有这个:Options +FollowSymLinks 吗?
    • 不幸的是,将其添加到我的 .htaccess 中仍然会导致 URL 重定向到根目录。 - 我会继续寻找谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多